使用Java的FileReader和BufferedReader类读取地图数据文件,将数据存储到数据库中。
时间: 2024-03-11 16:50:05 浏览: 60
[Java]ReadFromFile从文件读取数据的工具类
5星 · 资源好评率100%
好的,这是一个关于Java读取文件并存储到数据库的问题。我会尽力回答你的问题,下面是我的回答:
首先,你需要创建一个地图数据文件,可以使用文本编辑器创建一个以逗号分隔的文本文件,每行代表一个地图节点,每个节点有唯一的ID和经纬度坐标。例如:
1,39.903056,116.391944
2,39.902222,116.393056
3,39.901389,116.394167
然后,你可以使用Java的FileReader和BufferedReader类来读取地图数据文件,并将数据存储到数据库中。下面是一个示例代码:
```
import java.io.BufferedReader;
import java.io.FileReader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class MapDataImporter {
public static void main(String[] args) {
String filename = "mapdata.txt";
String jdbcUrl = "jdbc:mysql://localhost:3306/mydb";
String username = "root";
String password = "123456";
try (Connection conn = DriverManager.getConnection(jdbcUrl, username, password);
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO mapdata (id, lat, lng) VALUES (?, ?, ?)")) {
FileReader fr = new FileReader(filename);
BufferedReader br = new BufferedReader(fr);
String line;
while ((line = br.readLine()) != null) {
String[] fields = line.split(",");
int id = Integer.parseInt(fields[0]);
double lat = Double.parseDouble(fields[1]);
double lng = Double.parseDouble(fields[2]);
pstmt.setInt(1, id);
pstmt.setDouble(2, lat);
pstmt.setDouble(3, lng);
pstmt.executeUpdate();
}
br.close();
fr.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
在这个示例代码中,我们使用了Java的JDBC API连接到MySQL数据库,并使用PreparedStatement对象执行插入操作。我们读取地图数据文件的每一行,并将其分割成ID、纬度和经度三个字段,然后将其插入到数据库中。
当然,在实际情况中,你需要根据具体的需求来修改代码,例如修改数据库连接字符串、表名和字段名等等。希望这个回答对你有所帮助!
阅读全文