0

は からどのようにPipedInputStream読み取りPipedOutputStreamますか? メンバー変数toString()にアクセスするための隠し魔法を使用していますか?private

4

2 に答える 2

2

PipedOutputStream.write(int byte)protectedメソッドを呼び出すだけで、メソッドPipedInputStream.receive(int byte)は独自のバッファを埋めるだけです。一括読み取り/書き込みメソッドについても同じことが言えます。

PipedInputStreamの内部バッファは存在しないprivateためprotected、メソッドと同じ方法でアクセスできることに注意してくださいprotected receive()。しかし、PipedOutputStream公正にプレーし、直接アクセスしません。

Wikipediaprotectedに示されているように、クラスを派生させるだけでなく、完全なパッケージからメソッドとフィールドにアクセスできるため、これはもちろん機能します。

「toString」のような「魔法」は必要ありません。

于 2012-04-12T18:48:52.247 に答える
0

通常、OutputStream から読み取り、終了するまで読み取った内容を PipedInputStream に書き込むバックグラウンド スレッドがあります。

于 2012-04-12T18:49:16.793 に答える