Oracleのドキュメントには次のように記載されています。
write(byte[] b, int off, int len) は IOException をスローします
オフセット off から始まる指定されたバイト配列から len バイトをこの出力ストリームに書き込みます。FilterOutputStream の write メソッドは、出力するバイトごとに 1 つの引数の write メソッドを呼び出します。
このメソッドは、基礎となる入力ストリームの write メソッドを 同じ引数で呼び出さないことに注意してください。FilterOutputStream のサブクラスは、このメソッドのより効率的な実装を提供する必要があります。
2 つの質問があります。
- このページで、の装飾に を使用し、通常の出力をファイルに書き込むコードを見つけました。基になるストリームで同じオーバーロードを呼び出して操作を高速化できるのに、各バイトで基になるストリームのメソッドを呼び出すのはなぜですか?
FilterOutputStream
FileOutputStream
FilterOutputStream
write()
- 基礎となるストリームが入力ストリームであるのはなぜですか?
ありがとう。