NullPointerException当我从文本中读取时出错

时间:2012-05-29 10:13:36

标签: java processing

我收到错误:

line = node_reader.readLine();

当文本文件为空时,我收到NullPointerException错误。如果文本上有数据,我不会收到错误。我做错了什么?

void file_open () {

    String line = "test";
    BufferedReader node_reader;
    node_reader = createReader("nodedata.txt");

    while (line !=null ) {   

        try {

            line = node_reader.readLine();

            if ( line != null ) {
                String[] pieces = split(line, TAB);
                int a = int(pieces[0]);
                int b = int(pieces[1]);
                int c = int(pieces[2]);
                int d = int(pieces[3]);
                int e = int(pieces[4]);

                listofNodes.add(new Node(a, b, e));  //
            }

        } catch (IOException e) {
            e.printStackTrace();
            line = null;
        }
    }
}

这是文本文件:

138 102 100 36  0
95  293 100 36  1

2 个答案:

答案 0 :(得分:2)

问题在于

node_reader = createReader("nodedata.txt");

在此方法中,文件可能无法正确打开。转到此方法并验证该方法是否正确创建了BufferedReader。

答案 1 :(得分:0)

如何创建BufferedReader?尝试:

BufferedReader node_reader
   = new BufferedReader(new FileReader("nodedata.txt"));