我有一个这样的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));
    }

10-07 12:27