Java で FileInputStream を使用して、一度にチャンクを読み取ってファイルを読み取ろうとしています。コードは次のとおりです。
File file = new File(filepath);
FileInputStream is = new FileInputStream(file);
byte[] chunk = new byte[bytelength];
int chunkLen = chunk.length;
long lineCnt = 0;
while ((chunkLen = is.read(chunk)) != -1) {
String decoded = getchunkString(chunk);
System.out.println(decoded);
System.out.println("---------------------------------");
}
次のように、バイト長 = 128 を使用して、より小さいファイルでテストしようとしています。
graph G{
biz -- mai
biz -- ded
biz -- ronpepsi
blaine -- dan
dan -- graysky
dan -- iancr
dan -- maxwell
dan -- foursquare
blaine -- neb
}
コードを実行すると、次のようにチャンクが読み取られます。
graph G{
biz -- mai
biz -- ded
biz -- ronpepsi
blaine -- dan
dan -- graysky
dan -- iancr
dan -- maxwell
dan -- foursquare
blaine
---------------------------------
-- neb
}
iz -- mai
biz -- ded
biz -- ronpepsi
blaine -- dan
dan -- graysky
dan -- iancr
dan -- maxwell
dan -- foursquare
blaine
---------------------------------
2番目のチャンクがどのように来るのかわかりませんか? それだけであることを願っています
-- neb
}
i debugg is.read(chunk)
が 10 になり、次に -1 になると、最初のチャンクのみが出力されます。