0
ストリムを利用して配列にデータを入れる処理
いつもお世話になっております。
早速ですが、勉強中に疑問に思っていたのがありまして質問いたします。
下記のコードはストリムを利用して配列にデータを入れる処理を行っています。
import java.io.*;
public class FileStreamMain{
public static void main(String[] args) throws IOException{
File f = new File("FileStreamMain.java");
int fileSize = (int)f.length();
byte[] b = new byte[fileSize];
// ★ストリムを利用して配列にデータを入れる処理
FileInputStream fis = new FileInputStream("FileStreamMain.java");
int pos = 0;
int size = 10;
int temp;
while( (size=fis.read(b, pos, size)) > 0 ){
pos += size;
temp = b.length - pos;
if(temp < 10){
size = temp;
}
}
fis.close();
}
}
このサンプルコードで配列にデータを入れる処理を行っている所が
理解できませんでした。
FileStreamMain.javaを参照してFileInputStreamオブジェクトを生成した後の処理をみると10バイトずつサイズを計算しているだけだと思いますが、配列にデータを入れる処理とはどこで行っているのでしょうか?
よろしくお願いします。