[入力|出力] ストリームは JDK1.0 から存在し、文字に対応するリーダー|ライターは JDK1.1 から存在します。
ほとんどの概念は類似しているように見えますが、1 つの例外があります。ストリームの基本クラスは、一度に1バイトを処理する抽象メソッドを宣言しますが、基本リーダー/ライタークラスは、配列全体を処理する抽象メソッドを宣言しますchar
。
したがって、私が正しく理解していれば、オーバーライドされたすべてのストリームクラスは 1 バイトの処理に制限されます (したがって、各バイトに対して少なくとも 1 つのメソッド呼び出しを実行します!)。一方、オーバーライドされたリーダー/ライターは、配列 (-buffer) ごとのメソッド呼び出しのみを必要とします。
それは大きなパフォーマンスの問題ではありませんか?
InputStream
ストリームをまたはのサブクラスとして実装できますが、配列OutputStream
に基づくことはbyte
できますか?