1

我正在使用它来编写一个大文件:

output = new OutputStreamWriter(new FileOutputStream(fileName), o.charset); 

但它只写了 8192 个字节。如何设置这个限制?

4

1 回答 1

1

完成写入后,您必须关闭编写器。

OutputStreamWriter有一个 8kb 的内部缓冲区,可以更有效地将字符数据转换为字节。当缓冲区填满时,它会自动刷新到底层输出流。当您关闭流时,缓冲区也会被刷新。如果您不刷新或关闭流,则数据将保留在内存缓冲区中并且永远不会写入磁盘。

通常,您应该始终关闭您打开的所有输入和输出流、读取器和写入器。

于 2013-06-24T12:38:07.240 回答