【问题标题】:OutputStreamWriter internal buffer sizeOutputStreamWriter 内部缓冲区大小
【发布时间】:2015-02-16 10:01:37
【问题描述】:

我想创建一个无缓冲的OutputStreamWriterdocs (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 之间仍然存在非常显着的差异。

标签: java java-io


【解决方案1】:

好吧,似乎没有办法调整缓冲区大小。曾经可以在构造函数中设置大小......在Java 1.1

构造函数在Java 1.2 (1998) 中消失了,显然他们忘记更新文档了。

(我觉得很奇怪,这个文档错误这么多年都没有注意到 - 而且我无法关闭缓冲也很奇怪。)

更新:Java 8 还是一样

更新 2:确认为 doc bug,最终在 Java 9 文档中删除

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-05
    • 2014-06-10
    • 2019-09-29
    • 1970-01-01
    相关资源
    最近更新 更多