-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.

这是正确的方法吗?

4

2 回答 2

2

查看FileWriter API。有一个接受布尔参数的构造函数——您可能希望使用它。

于 2012-11-04T01:29:24.757 回答
2

您可以使用附加模式FileWriter来避免覆盖现有数据:

new PrintWriter( new FileWriter("somefile.txt", true));
于 2012-11-04T01:29:33.040 回答