我想创建一个无缓冲的OutputStreamWriter。 文档(Java 7)说: 生成的字节在写入底层输出流之前会被累积到缓冲区中。可以指定此缓冲区的大小,但默认情况下它足够大以满足大多数需求。 “可以指定此缓冲区的大小”……怎么指定呢?(编辑:这是文档中的旧错误,在Java 9中已经修复。)
好的,看起来似乎没有办法调整缓冲区大小。在Java 1.1中曾经可以在构造函数中设置缓冲区大小! 在Java 1.2(1998年)中,这个构造函数消失了,但显然他们忘记更新文档。 (我觉得这个文档错误在这么多年里一直没有被注意到很奇怪,而且我也无法关闭缓冲区)。 更新:在Java 8中仍然是相同的。 更新2:已确认为文档错误,终于在Java 9中的文档中移除了。
BufferedWriter
不进行编码。假设有任何缓冲,指定大小是有意义的。 - Jon SkeetBufferedWriter
之间仍然存在非常显着的差异。 - Jon Skeet