I / O、ファイル、ソケットについて学習していますが、この文の意味がわかりません
読み取りは常にバッファを満たすとは限りません
どういう意味ですか?誰か私に説明がありますか?
"read will not always fill a buffer"
上記の文は、いっぱいになると自動フラッシュされる特定のものがあることを意味しますBuffer
がsize
、バッファに読み込まれるデータがバッファをいっぱいにするのに十分ではないとします...次に、手動でフラッシュする必要があります。
詳細については、KathySierraSCJP Programmer guide
またはThinking in Java's
IOの章を参照してください。
read()メソッドは、ストリームまたはリーダーから入力するバイト配列を受け入れます。
バッファを満たすのに十分なデータがない場合は、次のいずれかを実行できます。
標準の実装では、両方を組み合わせて実行します。少なくとも1バイトが使用可能になるまで待機します。
注:2番目のケースは、read()がデータなしで戻る可能性があることを意味します。
少なくとも1バイトが使用可能になるまでブロックし、再度ブロックせずにその時点で読み取ることができるバイト数を返します。Javadocを参照してください。