BufferedWriter 未完全输出数据
在 Java 中,BufferedWriter 类通常用于将文本写入磁盘。虽然它采用缓冲技术来提高性能,但在某些情况下可能无法将所有预期数据写入输出文件。
当 BufferedWriter 缓冲区超过其默认大小时,就会出现这样的情况。默认情况下,缓冲区大小设置为8192个字符,可以轻松容纳数百行数据。但是,如果数据量超过缓冲区容量,则在显式刷新缓冲区之前,数据不会写入文件。
问题描述
The问题中描述的程序从 CSV 文件读取数据并将其转换为 SQL 命令以插入表中。程序似乎运行正常,直到转换过程中途突然停止写入输出文件。
解决方案
要解决此问题,关闭至关重要与 BufferedWriter 关联的 OutputStream。此操作强制刷新剩余数据,确保将其写入输出文件。在程序终止前添加如下代码:
out.close();
通过关闭OutputStream,缓冲的数据立即写入文件,解决输出被截断的问题。
以上是为什么我的 Java BufferedWriter 没有写入所有数据?的详细内容。更多信息请关注PHP中文网其他相关文章!