2017-10-06 18 views
-3

エラーはwriteToFile()メソッドにあります。私はそれをコメントすることができ、それは例外エラーなしで完全に実行されます。だから基本的に、私はそれらの栄養学の事実をテキストファイルに印刷しようとしています。 エラーが 環境で Environment.writeToFile(Java1001.java:71)のメイン "java.lang.NullPointerExceptionがこの私は 'スレッドで例外が発生する "メイン" java.lang.NullPointerException'

「スレッドでの例外" のように見えます。(Java1001.java:54) Java1001で.main(Java1001.java:43)」

import static java.lang.System.*; 
    import java.io.*; 

    public class Java1001 
    { 
     public static void main(String[] args) throws IOException 
     { 
      new Environment(); 
     } 
    } 

    class Environment 
    { 
     private PrintStream outFile; 

     public Environment() 
     { 
      createOutputStream(); 
      writeToFile(); 
     } 

     public void createOutputStream() 
     { 
      // create outFile stream here 
      File outFile = null; 
      try 
      { 
       outFile = new File("Nutrition.txt"); 
       outFile.createNewFile(); 
      } 
      catch (Exception e){} 
     } 

     public void writeToFile() 
     { 
      outFile.println("NUTRITION FACTS"); 
      outFile.println("======================================"); 
      outFile.println("Serving Size 1 tbsp (6g)"); 
      outFile.println("Servings Per Container about 4"); 
      outFile.println("======================================"); 
      outFile.println("Amount Per Serving"); 
      outFile.println("Calories   20"); 
      outFile.println("Calories from Fat 5"); 
      outFile.println("======================================"); 
      outFile.println("Total Fat 0.5g"); 
      outFile.println("Sodium 280mg"); 
      outFile.println("Total Carbohydrate 4g"); 
      outFile.println("Sugars 0g"); 
      outFile.println("Protein less than 1 g"); 
      outFile.println("======================================"); 
     } 
    } 
+0

あなたはoutFile' 'という名前の2つの変数を持っています。 –

+0

データメンバの代わりに 'createOutputStream()'のローカル変数 'outFile'を初期化していますので、' writeToFile() 'のデータメンバは' null'です。 – breezee

答えて

0

ジョニーMOPPあなたはcreateOutputStream方法だけでなく、インスタンスてoutFileでてoutFileの両方を持って指摘したように。書き込み、試しに続いcreateOutputStream方法でFile outFile = null;を削除してください:

this.outFile = new File("Nutrition.txt"); 
this.outFile.createNewFile(); 
関連する問題