2012-11-04 125 views
-2

是否可以在不覆蓋以前的數據的情況下將文本寫入文件?輸出不覆蓋

我一直做的是:

StringBuffer sb = new StringBuffer(); 
BufferedReader in; 
PrintWriter out; 

try{ 
    in = new BufferedReader(new FileReader("somefile.txt")); 
    out = new PrintWriter(new FileWriter("somefile.txt")); 

    String input = ""; 
    while(input != null){ 
     sb.append(input + "\n"); 
     input = in.readLine(); 
    } 
    in.close() 

    out.print(sb.toString()); 

    // now start doing what I want. 

這是正確的方法是什麼?

回答

2

可以使用附加模式爲FileWriter,以避免覆蓋現有數據:

new PrintWriter(new FileWriter("somefile.txt", true)); 
2

查看FileWriter API。有一個接受布爾參數的構造函數 - 您可能希望使用它。