3

ここに表示される次のステートメントに混乱しています

InputStream クラスの基本的な read() メソッドは、1 つの符号なしバイトのデータを読み取り、符号なしバイトの int 値を返します。これは 0 から 255 までの数値です。ストリームの終わりに達した場合は、代わりに -1 を返します。これをフラグとして使用して、ストリームの終了を監視できます。

1 バイトは最大 256 個の整数を表すことができるため、0 から 256 および -1 を表す方法がわかりません。誰かが私がここで見逃していることについてコメントできますか?

4

3 に答える 3

3

操作はバイトを読み取るだけですがread()、実際には を返すintので問題はありません。

ただし、ストリーム値の特別な -1 終了を除いて、0 ~ 255 の範囲の値のみが返されます。

于 2013-01-22T00:13:40.877 に答える
3

intではなく を返すbyteため、通常は 0 ~ 255 しか含まれませんが、他の値を含めることができます。

于 2013-01-22T00:14:01.720 に答える
3

InputStream#read()の戻り値の型はです。値が0 ~ 255 の範囲にある場合はint、値を として読み取ることができます。byte

于 2013-01-22T00:14:26.260 に答える