【发布时间】:2010-09-04 10:11:13
【问题描述】:
[Input|Output]Streams 从 JDK1.0 开始存在,而它们的字符对应的 Readers|Writers 从 JDK1.1 开始存在。
大多数概念看起来都相似,除了一个例外:流的基类声明了一个抽象方法,该方法一次处理一个单个字节,而基本读取器/writers 类声明了一个处理整个char-arrays 的抽象方法。
因此,鉴于我理解正确,每个被覆盖的 stream 类都仅限于处理单个字节(从而对 每个 字节执行至少一个方法调用!),而被覆盖的 readers/writers 只需要每个数组(-buffer)的方法调用。
这不是一个巨大的性能问题吗?
流可以实现为InputStream 或OutputStream 的子类,但仍基于byte-arrays?
【问题讨论】: