【发布时间】: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