读写文件,但覆盖文件

时间:2012-05-30 12:58:19

标签: java filewriter

我试图弄清楚为什么这不起作用。显示的所有文件实际存在。 'logging.toString()'是一个.txt文件,它读取日志记录中的所有文本,并使用我想要添加的字符串将其写回。虽然当我这样做时,它会覆盖它。但我不想那样。帮助

    try{
        FileWriter fstream = new FileWriter(logging.toString());
        BufferedWriter out = new BufferedWriter(fstream);
        FileInputStream fstreams = new FileInputStream(logging);
        BufferedReader br = new BufferedReader(new InputStreamReader(fstreams));
        String strLine;
        while ((strLine = br.readLine()) != null){
            htmlTextArea = htmlTextArea + strLine + "\n";
        }
        out.write(htmlTextArea + logto);
        out.close();
    } catch (Exception ex){}

4 个答案:

答案 0 :(得分:4)

为什么不呢?你没有传递一个追加标志:

FileWriter(String filename, boolean append)

API文档是你的朋友;它们通常有助于理解行为。

答案 1 :(得分:2)

更改此行

FileWriter fstream = new FileWriter(logging.toString());

FileWriter fstream = new FileWriter(logging.toString(), true);

这样,你告诉Java你想要附加文件。 FileWriter的Javadocs还有更多内容。

答案 2 :(得分:1)

因为这是FileWriter的实施方式。

如果你想追加,你应该使用不同的构造函数:new FileWriter( logging.toString(), true );

答案 3 :(得分:1)

如果您想要将某些内容添加到文件但不覆盖它,请使用

FileWriter fstream = new FileWriter(logging.toString(),true);