在文本文件上使用setter / getters

时间:2014-02-21 10:53:18

标签: java getter-setter

我正在尝试从文本文件中创建一个坐标列表,我希望它能够高效,所以我创建了一个具有latitudelongitude双变量的类,以及它们的getter和setter方法。

所以在另一个类中,我使用前一个类的对象来使用setter方法。

CoordinatesParams params = new CoordinatesParams();

如何阅读文本文件中的坐标列表并将其设置为latitudelongitude变量?

很抱歉,如果这个问题对某些人来说非常基本

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列,第一列是纬度,第二列是经度

1 个答案:

答案 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(" "),因为看起来坐标之间没有标签,只有空格。

相关问题