我正在尝试使用FileWriter和PrintWriter在java中输出文件,并面临一些与此相关的问题。 当我在文件中写入数据时,只有大约85%的数据写入文件中,而当我使用计数器检查并打印数据时,它显示100%完成了该过程。从逻辑上讲,所有数据都应该写在文件中,但这不会发生。 我试图搜索到所有的答案,我发现这可能是由于我正在写的大数据(大约11 mb)。
那么有什么有效的方法可以完成我的任务吗?
答案 0 :(得分:1)
11 MB非常小,所以如果你没有正确关闭文件,文件的末尾可以被缓冲和丢弃。在Java中,您可以编写多TB文件,即文件系统可以处理的大文件。 ;)
答案 1 :(得分:1)
您需要关闭FileWriter对象并刷新PrintWriter对象。
objFileWriter.close();
ibjPrintWriter.flush();
答案 2 :(得分:0)
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()
。