我正在尝试使用 FileWriter 和 PrintWriter 在 java 中输出一个文件,并面临一些相同的问题。当我在文件中写入数据时,只有大约 85% 的数据被写入文件中,而当我使用计数器检查并打印数据时,它显示该过程 100% 完成。从逻辑上讲,所有数据都应该已写入文件,但这并没有发生。我试图到处寻找答案,我发现这可能是由于我正在编写的大量数据(大约 11 mb)。
那么有什么有效的方法可以让我完成我的任务吗?
您需要关闭 FileWriter 对象并刷新 PrintWriter 对象。
objFileWriter.close();
ibjPrintWriter.flush();
11 MB 非常小,因此如果您没有正确关闭文件,文件的末尾可能会被缓冲并丢弃。在Java 中,您可以编写多TB 文件,即文件系统可以处理的大小。;)
try {
FO1 = new FileWriter("ProximityPoint.txt");
out=new PrintWriter(FO1);
} catch (IOException e) {
System.out.println("Exception 2");
}
for (int i=0;i<10;i++){
for (int j=0 ;j<10;j++){
for (int k =0; k<10 ;k++){
/*Process is done here*/
out.println(i+ ", " +j+ ", " +k+ ", "+ a variable);
}
}
}
这是我用于写入文件的代码。我省略了实际代码,因为我认为它不会影响写入文件。
bestsss 在这里的编辑:你
out.close()
在循环之后错过了。