2017-03-17 6 views
0

私は以下のコードで助けが必要ですが、私はテキストを追加できません(私の例ではHi)。ファイルが作成されていると私はそれの中に1 Hiを持っているが、私はそれをループしている(私はそれがループとシステム印刷いくつかのハイであることがわかりますcmdを実行するとき)しかし、なぜ私はファイル1 hi?私はこれが本当 fw = new FileWriter(file.getAbsoluteFile(), true);作成時にファイルにJava文字列が追加されない

  try 
      { 

       LineNumberReader rdr = new LineNumberReader(new FileReader(directory+"/Ant_log.log")); 


       String timeStamp = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(Calendar.getInstance().getTime()); 
       BufferedWriter bw = null; 
       FileWriter fw = null; 
       File file = new File(directory+"/Log-Missing-scripts.txt"); 

       String line1 =""; 
        while((line1 = rdr.readLine())!= null)    
        { 

         // if file doesnt exists, then create it 
         if (!file.exists()) { 
          file.createNewFile(); 
         } 

         // true = append file 
         fw = new FileWriter(file.getAbsoluteFile(), true); 
         bw = new BufferedWriter(fw); 
         System.out.println(rdr.getLineNumber()); 
         if (rdr.getLineNumber()== 3) 
          { 
           System.out.println("Hi"); 

         bw.write("Hi"); 
         break; 
          } 
        } 
        bw.close(); 
        writer.close(); 


      } 
      catch(Exception e) 
      { 
       System.out.println("ERROR : In Log File"); 

      } 
     } 
+0

@ SkaryWombatこの問題を解決する答えを加えてください – Moudiz

答えて

1
であることを確認しました

は、そうでない場合は、新しいWriter sで各反復を作成している、ループの前に、あなたのfile*Writer作成コードを移動

。最後に作成されたWriterのみが閉じられ、フラッシュされています

関連する問題