我正在尝试从文本文件中创建一个坐标列表,我希望它能够高效,所以我创建了一个具有latitude
和longitude
双变量的类,以及它们的getter和setter方法。
所以在另一个类中,我使用前一个类的对象来使用setter方法。
CoordinatesParams params = new CoordinatesParams();
如何阅读文本文件中的坐标列表并将其设置为latitude
和longitude
变量?
很抱歉,如果这个问题对某些人来说非常基本
File Bus_Routes = new File("C:/Users/Daniel Dold/Desktop/Routes/Bus_Routes.txt");
Scanner scanner = new Scanner(Bus_Routes);
String line = scanner.nextLine();
String[] parsed = line.split("\\s");
String routeText = parsed[0];
String dir = "C:/Users/Daniel Dold/Desktop/Routes/";
File routeFile = new File(dir, routeText);
Scanner sc = new Scanner(routeFile);
while(sc.hasNextLine())
{
String line2 = sc.nextLine();
String[] s = line2.split("\t");
}
这是我到目前为止在文件上打印结果。
51.50177649 -0.05012445
51.50210374 -0.05050666
51.50253617 -0.0509908
51.50265346 -0.05072191
51.50274404 -0.05055025
51.50301702 -0.05011841
坐标文件只有2列,第一列是纬度,第二列是经度
答案 0 :(得分:1)
我不知道文件的内容如何,但你应该为你的CoordinatesParamas
创建一个列表,然后迭代你从文件中读取的数据,用CoordinatesParamas
个对象填充列表并设置通过setter在这个对象中的纬度和经度。
List<CoordinatesParamas> lCoordinates = new ArrayList<CoordinatesParamas>();
while(sc.hasNextLine()) {
CoordinatesParamas temp = new CoordinatesParamas();
String pair = sc.nextLine();
String[] s = pair.split(" ");
temp.setLatitude(s[0])
temp.setLongitude(s[1])
lCoordinates.add(temp );
}
我使用string.split("\t")
更改了split(" ")
,因为看起来坐标之间没有标签,只有空格。