InputStreamのreadメソッドは、バイトストリームからデータを読み込むメソッド・・・。
InputStream (Java Platform SE 6)
いくつかオーバーロードメソッドがあり、前回のように1バイトずつではなく、byte配列にバイトデータを一気に読み込むこともできる・・・。
読み込むバッファとなるbyte配列のbuf(長さ128)と読み込んだバイト数を持つint型のlenを用意・・・。
readメソッドにbufを渡すと、bufに"test.txt"のバイトデータを読み終わるまで格納する・・・。
そして読み込んだバイト数をlenに格納・・・。
byte配列はそのままではSystem.out.printで出力できないので、charにキャストして1文字ずつ出力・・・。
(charはUnicodeなので、2バイト文字の場合はこの方法はできないが、今回は読み込むデータがASCIIコードのテキストなので特別に・・・。)
"test.txt"にこのように書いておいて、実行すると、
ABCDE PQRS XYZ
と一気に読み込まれているのがわかる・・・。
Sample/MainClass.java at master · bg1bgst333/Sample · GitHub