我正在尝试写入文件
try
{
PrintWriter fileout = new PrintWriter("./src/javaapplication1/test.dat");
for(int i=0;i<10;i++)
{
fileout.println(i);
}
}
catch (IOException e)
{
System.out.println("File cannot be created");
}
但是没有任何内容被写入文件,我期待
1
2
3
4
5
6
7
8
9
我写入文件的方式有什么问题吗?
最佳答案
您还没有关闭 writer。几乎可以肯定它只是缓冲了所有数据。
您应该始终关闭 IO 流等。如果您使用的是 Java 7+,则可以使用 try-with-resources 语句:
try (PrintWriter fileout = new PrintWriter("./src/javaapplication1/test.dat")) {
for (int i = 0; i < 10; i++) {
fileout.println(i);
}
} catch (IOException e) {
// Don't just swallow the exception - use that information!
System.out.println("Error writing file: " + e);
}
如果您使用的是早期版本的 Java,则无论是否抛出异常,都应该使用 finally
block 来关闭编写器。
关于java - 无法向文件写入任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22891398/