Java 大数据文件输出

Java 大数据文件输出,java,file-io,Java,File Io,我试图使用FileWriter和PrintWriter以java输出一个文件,但遇到了一些与此相关的问题。 当我在文件中写入数据时,只有大约85%的数据写入文件,而当我使用计数器检查并打印数据时,它显示该过程100%完成。从逻辑上讲,所有数据都应该写入文件中,但这不会发生。 我试着到处寻找答案,我发现这可能是因为我正在写的数据量很大(大约11MB) 那么,有什么有效的方法可以完成我的任务吗?11MB非常小,因此如果您没有正确关闭文件,文件结尾可能会被缓冲并丢弃。在Java中,您可以编写多TB文件

我试图使用FileWriter和PrintWriter以java输出一个文件,但遇到了一些与此相关的问题。 当我在文件中写入数据时,只有大约85%的数据写入文件,而当我使用计数器检查并打印数据时,它显示该过程100%完成。从逻辑上讲,所有数据都应该写入文件中,但这不会发生。 我试着到处寻找答案,我发现这可能是因为我正在写的数据量很大(大约11MB)


那么,有什么有效的方法可以完成我的任务吗?

11MB非常小,因此如果您没有正确关闭文件,文件结尾可能会被缓冲并丢弃。在Java中,您可以编写多TB文件,即文件系统可以处理的大小。;)

试试看{
FO1=新文件编写器(“ProximityPoint.txt”);
out=新的PrintWriter(FO1);
}捕获(IOE异常){
系统输出打印项次(“例外2”);
}

对于(int i=0;i您需要关闭FileWriter对象并刷新PrintWriter对象

objFileWriter.close();
ibjPrintWriter.flush();

你是否关闭/刷新了你的写入程序?请显示一段有问题的代码。正如Pshemo所说,确保你刷新了你的写入程序。实际上我没有刷新缓冲区。我不确定它是否完成了。请你解释一下。不需要刷新,但是关闭写入程序。一些文件系统无法写入更大的文件。例如ext4限制为16 TB。哎呀!!非常感谢。它确实有效。我完全忘记关闭它。非常感谢!这将引发
IOException
。除非使用BufferedXXX,否则刷新是完全浪费。在调用
close()
之前,刷新是完全浪费。
close()
之后是IOException。简言之:答案完全错误。
objFileWriter.close();
ibjPrintWriter.flush();