2012-05-29 12 views
-1

讀我得到一個錯誤:NullPointerException異常錯誤,當我從一個文本

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 
+4

什麼是'int()' –

+2

什麼是'split(line,...)'? – NPE

+0

NullPointerException發生在哪裏? – nhahtdh

回答

2

問題在於

node_reader = createReader("nodedata.txt"); 

在此方法中,該文件可能無法正常打開。轉到此方法並驗證該方法是否正確創建BufferedReader。

0

如何創建BufferReader?嘗試:

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

在處理中你不能使用'FileReader',IDE會給你'createReader()'並返回一個BufferedReader ... 我不能告訴你他們爲什麼做出這個決定! 要使用它,你必須導入'java.io.FileReader' – ingroxd

相關問題