2017-03-14 9 views
0

私は私のJavaコードを実行すると:Null Pointer例外を解決するにはどうすればよいですか?

public class LalaLuLu { 
public static void main(String[] args) { 

    try{ 
     String path = "D:/Gem/FINAL/Datatest.csv"; 
     File file = new File(path); 
     InputStream is; 
     System.out.println(file.exists()); 

     FileReader fr = new FileReader(file); 
     BufferedReader br = new BufferedReader(fr); 

     PrintWriter os = new PrintWriter (new FileOutputStream("D:/Gem/FINAL/out_datatest1.txt")); 
     String output = ""; 
     int count = 0; 
     do{ 
      output = br.readLine(); 
      String[] a = output.split(";"); 
      System.out.println("total kolom: " + a.length); 
      os.println(output); 
      System.out.println(count++); 
     } while (!output.equals("")); 

    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} } 

私は実行し、この行のエラー:私は取得しています

output = br.readLine(); 
String[] a = output.split(";"); 

とエラーです:

java.lang.NullPointerException 
    at DAO.readdata.readdataCSV(readdata.java:47) 

は、あなたが言うことができるの私はこのエラーを解決する方法?ありがとうございました

+0

でしょうか?はいの場合は、その値は何ですか。 – Vipin

答えて

0

readLine()がどのように動作するかをドキュメントで確認してください:https://docs.oracle.com/javase/7/docs/api/java/io/BufferedReader.html#readLine()

任意の行の終端文字を含む行、ない の内容を含む文字列、またはnull ストリームの終わりには、

に達している場合は、ファイルの終わりを読んでいますnullを返します。

最も簡単な修正では、デバッガでその変数の値を確認しなかった、そこに47行である何次

do{ 
    output = br.readLine(); 
    if (output == null) { 
     break; 
    } 
    String[] a = output.split(";"); 
    System.out.println("total kolom: " + a.length); 
    os.println(output); 
    System.out.println(count++); 
} while (!output.equals("")); 
+0

それは私を助ける。あなたのソリューションをありがとう。 – rurururu

関連する問題