1

Oracleのドキュメントには次のように記載されています。

write(byte[] b, int off, int len) は IOException をスローします

オフセット off から始まる指定されたバイト配列から len バイトをこの出力ストリームに書き込みます。FilterOutputStream の write メソッドは、出力するバイトごとに 1 つの引数の write メソッドを呼び出します。

このメソッドは、基礎となる入力ストリームの write メソッドを 同じ引数で呼び出さないことに注意してください。FilterOutputStream のサブクラスは、このメソッドのより効率的な実装を提供する必要があります。

2 つの質問があります。

  1. このページで、の装飾に を使用し、通常の出力をファイルに書き込むコードを見つけました。基になるストリームで同じオーバーロードを呼び出して操作を高速化できるのに、各バイトで基になるストリームのメソッドを呼び出すのはなぜですか?FilterOutputStreamFileOutputStreamFilterOutputStreamwrite()
  2. 基礎となるストリームが入力ストリームであるのはなぜですか?

ありがとう。

4

1 に答える 1