2

我试图弄清楚为什么这不起作用。显示的所有文件实际上都存在。'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

4 回答 4

4

为什么不呢?您没有传递附加标志:

FileWriter(字符串文件名,布尔附加)

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

于 2012-05-30T13:00:49.553 回答
2

更改此行

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

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

这样,您就告诉 Java 您希望追加该文件。FileWriter 的 Javadocs 中有更多内容。

于 2012-05-30T13:01:50.130 回答
1

因为这FileWriter就是实施的方式。

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

于 2012-05-30T13:01:24.577 回答
1

如果您想向文件中添加内容但不覆盖它,请使用

FileWriter fstream = new FileWriter(logging.toString(),true);
于 2012-05-30T13:01:29.890 回答