2017-03-17 69 views
0

我需要您的幫助以下代碼,我無法附加文本(在我的示例中爲Hi)。該文件正在創建,我在裏面只有1 Hi,但我在它內部循環(當我運行cmd我可以看到它循環和系統打印幾個喜),但爲什麼我在文件1 hiJava字符串在創建時不附加到文件中

我確信這是真的 fw = new FileWriter(file.getAbsoluteFile(), true);

  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

@ScaryWombat感謝它的工作,請添加爲解答此問題的答案 – Moudiz

回答

1
循環之前

file*Writer創建代碼移動,否則你正在創造新Writer s各自迭代。只有最後創建的Writer正在關閉和刷新