2015-11-26 14 views
2

我不知道我的我得到NullPointerException異常我是新的Java可以任何人請幫助。想要將我的文件中的唯一編號讀取爲|錯誤 - java.lang.NullPointerException

代碼我使用了這一點 -

import java.io.BufferedReader; 
import java.io.FileReader; 
import java.io.IOException; 
import java.util.Collections; 
import java.util.HashSet; 

public class sortNumberOfFile { 
    public static void main(String[] args) throws IOException, 
      InterruptedException { 
     HashSet<String> hs = null; 
     String perLine; 
     String filename = "C:\\Users\\dummy\\Downloads\\ip.txt"; 
     BufferedReader br = new BufferedReader(new FileReader(filename)); 

     while ((perLine = br.readLine()) != null) { 
      System.out.println("whole line : " + perLine); 

      String[] eachLine = perLine.split(","); 
      System.out.println("custom element " + eachLine[0] + " " 
        + eachLine[2] + " count " + eachLine.length); 

      for (String str : eachLine) { 
       System.out.println("Adding "+str); 
       //Thread.sleep(2000); 
       hs.add(str); 
      } 

//   Collections.addAll(hs, eachLine); 
      System.out.println(hs); 

     } 
    } 

} 

控制檯輸出我得到 -

whole line : 1,2,32,4,5,234,6,12,3,67,3421,123,2,2,34,5,4 
custom element 1 32 count 17 
Adding 1 
Exception in thread "main" java.lang.NullPointerException 
    at org.gour.indrajeet.practice.sortNumberOfFile.main(sortNumberOfFile.java:27) 

回答

2

NullPointerException異常當應用程序試圖使用一個對象被拋出參考,具有null值。

請注意,您尚未創建一個HashSet對象尚未使用new這裏:

HashSet<String> hs = null; 

此外,要調用null參照物這裏的方法:

hs.add(str); 

它具有可能:

HashSet<String> hs = new HashSet<>(); 
+1

感謝我得到它..感謝您的幫助。 –

+0

它表明接受它我需要5分鐘。無論如何,我會做到這一點。 –

2

你先寫HashSet<String> hs = null;及更高版本,在您的循環中hs.add(str);。由於hsnull,因此不能調用其add()方法。

相反,聲明它是這樣的:

HashSet<String> hs = new HashSet<>();