我有一个这样的txt文件,其中包含经度和纬度坐标:
120.12 22.233
100 23.12
98 19.12
如果我想读取文件,我在做:
List<String> lines = Files.readAllLines(Paths.get(fileName));
System.out.println("LINE: " + lines.get(0));
它给了我:
120 22
我有一堂课读纬度和经度:
public class GisPoints {
private double lat;
private double lon;
public GisPoints() {
}
public GisPoints(double lat, double lon) {
super();
this.lat = lat;
this.lon = lon;
}
//Getters and Setters
}
我想将txt文件中的所有值存储到
List<GisPoints>
中。所以,我想要一个函数来加载文件:
public static List<GisPoints> loadData(String fileName) throws IOException {
List<String> lines = Files.readAllLines(Paths.get(fileName));
List<GisPoints> points = new ArrayList<GisPoints>();
//for (int i = 0; i < lines.size(); i++) {
// }
return points;
}
就像我说的,现在我正在阅读每一行,例如
lines[0] = 120 22
我想将经线[0]存储到points [0] .setLon()中,将经线[0]纬度存储到points [0] .setLat()中。
最佳答案
它看起来像这样:
for (int i = 0; i < lines.size(); i++)
{
String line = lines.get(i);
String[] values = line.split("\\s+");
double lat = Double.parseDouble(values[0]);
double lon = Double.parseDouble(values[1]);
points.add(new GisPoints(lat, lon));
}