jav*_*top 0 java io stream writer
[输入|输出]从JDK1.0开始存在流,而从JDK1.1开始存在字符对应的读者|写入者.
大多数概念似乎相似,但有一个例外:的基类流声明其处理一个抽象方法单一次字节,而基地读/写器的类声明,其处理整个一个抽象方法char-arrays.
因此,鉴于我理解正确,每个重写的流类都限于处理单个字节(从而为每个字节执行至少一个方法调用!),而被覆盖的读取器/写入器只需要每个数组的方法调用(-buffer).
这不是一个巨大的性能问题吗?
流是否可以作为InputStream或者的子类实现OutputStream,但是仍然基于byte-arrays?
实际上,InputStream的子类必须覆盖一次读取单个字节的方法,但也可以覆盖其他读取字节数组的方法.我认为大多数输入/输出流实际上都是这种情况.
因此,在我看来,这不是一个性能问题,是的,您可以扩展输入/输出流并基于字节数组.