在Java中,如何从同一个txt文件中读取字符串和双打?

时间:2017-11-30 17:34:01

标签: java text-files numberformatexception

我正在开发一个用Java实现和Adjacency Matrix的程序。我读了一个城市名称的txt文件来添加顶点,然后我有另一个txt文件,其中每一行是两个城市名称和两个城市之间的距离。以下是边缘txt文件的前5行。

Chicago Boston 851

芝加哥布法罗454

达拉斯芝加哥803

达拉斯克利夫兰1025

芝加哥克利夫兰308

我正在使用使用文件阅读器和缓冲阅读器的简单方法一次读取3行。然后我解析第三行,即距离(即454)。我得到了一个N​​umberFormatException,但奇怪的是我直到达到“达拉斯芝加哥803”这一行才得到它。 为什么它会正确读取前两个然后停在第三个?我将发布代码部分和下面的例外。

    //Read input from the cities_mileage.txt file, which contains the info for adding edges
    //Call addEdge in Graph class until file it empty
    FileReader file2 = new FileReader("F:/MinSpan/resources/city_mileage.txt");
    BufferedReader reader2 = new BufferedReader(file2);

    String line2 = reader2.readLine();
    String line3 = reader2.readLine();
    String line4 = reader2.readLine();
    double doubleMile = Double.parseDouble(line4);
    while (line2 != null && line3 != null && line4 != null ) //Example: line 2 = Chicago, line 3 = Boston, line4 = 851
    {
        graph.addEdge(line2, line3, doubleMile);

        line2 = reader2.readLine();
        line3 = reader2.readLine();
        line4 = reader2.readLine();
        doubleMile = Double.parseDouble(line4);
    }

NumberFormatException

0 个答案:

没有答案