【发布时间】:2015-02-16 10:01:37
【问题描述】:
我想创建一个无缓冲的OutputStreamWriter。 docs (Java 7) 说
生成的字节在写入之前累积在缓冲区中 到底层输出流。这个缓冲区的大小可能是 已指定,但默认情况下它对于大多数用途来说足够大。
“可以指定这个缓冲区的大小”...如何?
(编辑:这是文档中的一个旧错误;已在 Java 9 中修复)
【问题讨论】:
-
不错的收获。我希望它在构造函数中,但显然不是......
-
@JonSkeet 文档错误?如果是这样,它看起来很旧......很奇怪。 cs.mun.ca/~michael/java/jdk1.2-docs/api/java/io/…
-
我相信 some 缓冲区是完全需要的,因为字符编码的工作方式:如果你收到代理对的前半部分,你必须缓冲它直到你收到下半场。
-
@SivaKumar:是的,因为
BufferedWriter不进行编码。假设有 any 缓冲,那么能够指定大小是有意义的。 -
@SivaKumar:有什么可能的方式?已经有一个缓冲区 - 如果调用者指定了一个 smaller 缓冲区,那肯定会是 less 开销。正如 Louis 所指出的,必须有一些描述的缓冲区,而且正如我所指出的,这与
BufferedWriter之间仍然存在非常显着的差异。