【问题标题】:Unable to append data to file using BufferedWriter无法使用 BufferedWriter 将数据附加到文件
【发布时间】:2013-09-29 16:25:07
【问题描述】:

这是重写整个文件。如何将内容附加到现有文件“Data.txt”?

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;

public class WriteToFile {
    public static void main(String[] args) 
    {
        try 
        {
            String content = "This is the content to write into file";
            BufferedWriter bw = new BufferedWriter(new FileWriter("Data.txt", true));
            bw.append(content);
            System.out.println("Done");
            bw.close();
        } catch (IOException e) 
        {
            e.printStackTrace();
        }
    }
}

【问题讨论】:

  • 如果我运行它 n 次,我应该得到 n 次“这是要写入文件的内容”。我只得到一次?
  • 那么你没有显示你实际运行的代码。以上内容当前会将字符串附加到文件的现有内容中。请注意,它将它附加在同一行。
  • 您在哪里查看文件?也许您只需要刷新编辑器的缓冲区。关闭文件并重新打开 t。
  • 奇怪,它现在正在工作。我忘了关闭流。 bw.close() 会关闭所有嵌套流吗?
  • 是的,它会的,因为所有系统资源都应该在调用此方法时释放。如果其他嵌套流保持打开状态,那么它们将无效,因此离开然后打开是没有意义的。请参阅 Closeable#close() 的 javadoc

标签: java bufferedwriter


【解决方案1】:

虽然,您的代码对我有用。你可以用另一种方式测试。用PrintWriter 包裹你的BufferedWriter 并运行。

 String content = "This is the content to write into file";
 PrintWriter out =new PrintWriter(new BufferedWriter(new FileWriter("Data.txt", true)));
 out.append(content);
 out.close();

【讨论】:

    猜你喜欢
    • 2015-02-13
    • 2019-03-02
    • 2016-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-25
    • 2015-04-11
    • 1970-01-01
    相关资源
    最近更新 更多