从文本文件到循环读取坐标?

时间:2017-11-30 00:53:01

标签: java arrays object point

所以我必须编写一个程序,我正在读取包含在我目前工作目录中的文本文件中的坐标。我的问题是如何在读完文本文件之后创建一个Point对象数组来存储这些坐标?到目前为止,这是我的代码,用于读取文件和while循环..

    try {

    // create the file reader instance
    FileReader fReader = new FileReader(fileName);

    // create a scanner to scan through the file
    Scanner scan = new Scanner (fReader);

    // loop 
    while (scan.hasNext()) {
            int i = 0;
            int x = scan.nextInt();
            int y = scan.nextInt();
            array[i] = new Point(x,y);

            i++;
        }


    // close the reader
        fReader.close();
} catch (IOException e) {
    System.out.println(e.getMessage());
  }
}

1 个答案:

答案 0 :(得分:2)

如果您不知道提前阅读了多少分,可以使用ArrayList

在while循环之前声明并初始化它:

ArrayList<Point> arraylist = new ArrayList<>();

在循环中使用arraylist.add(point);为其添加一个点。

最后,如果你真的需要一个数组,你可以使用:

转换你的ArrayList

Point[] foo = arraylist.toArray(new Point[arraylist.size()]);