2014-01-18 158 views
2

我有這樣的代碼:爲什麼BufferedWriter不寫入文件?

String[] strings = {"Hi" , "You", "He", "They", "Tetrabenzene", "Caaorine", "Calorine"}; 

    File file = new File("G:\\words.txt"); 
    FileWriter fWriter; 
    BufferedWriter bWriter; 

    try { 
     if((file.exists())) { 
      file.createNewFile(); 
     } 
     fWriter = new FileWriter(file.getAbsoluteFile(), true); 
     bWriter = new BufferedWriter(fWriter); 

     //Convert Result objects to JSON and write to file 
     for(int j = 0; j < strings.length; ++j) { 
      bWriter.write(strings[j]); 
       bWriter.newLine(); 
       System.out.println("done"); 
     } 
    } 
    catch(IOException e) {e.printStackTrace();} 

我已經非常本和BufferedWriter之前相同的代碼2〜3次完美地書寫。但由於某些原因,當我得到這個代碼它不寫。我一直在尋找可能是錯誤的東西,但是我不能改變某些東西並快速測試,因爲程序需要10分鐘才能完成這部分。

此外,該程序打印「完成」的控制檯,所以我知道它將進入for loop

任何想法,我做錯了什麼?

+1

最後關閉你的作家。 'bWriter.close(); fWriter.close();' –

+0

謝謝。這有幫助。 – user3210944

回答

7

如果您希望將數據實際刷新到磁盤上的文件,請致電bWriter.flush()。 或者在完成與作者的合作後,致電bWriter.close()bWriter.close()呼叫將在內部呼叫bWriter.flush()

+0

如果可用,OP應該使用'try-with-resources'(Java 7)。 –

+0

謝謝。這解決了我的問題。 – user3210944

相關問題