【发布时间】:2015-02-13 07:45:55
【问题描述】:
在下面的代码中,我尝试使用 FileOutputStream 和 BufferedWriter 将一些文本附加到文件中,如下所示。在 ru 时,尽管文件有一些数据,但当我使用 FileOutputStream 和 BufferedWriter我发现文件是空的,甚至我要附加的数据bw.write("new information"); 也不存在文件完全是空的。
请告诉我如何解决它。
代码:
File f = new File(SystemConfig.getSystConfigInstance("E"));
System.out.println(f.getAbsolutePath() + " name: " + f.getName());
OutputStream os = new FileOutputStream(f);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os));
bw.write("new information");
【问题讨论】:
-
如果你想立即看到效果,写完后调用 bw.flush() 会很好
-
@Adem 你能简单解释一下flush吗?
-
流大多有一些缓冲区。当您在它们上写入一些数据时,它们首先会保留这些数据,直到它们的缓冲区已满。之后,他们进行了实际的写作。您可以通过调用将当前缓冲区数据写入目标的“flush()”来强制执行此操作
标签: java file-io inputstream outputstream bufferedwriter