0
JavaのBufferedReaderを使用して90kbのファイル(明らかに約90,000バイト)を読みたいのですが、61バイト後に停止します。ファイルは問題なく、HexEditorを使ってチェックしました。BufferedReaderは61バイトだけを読み込みます
private ArrayList<byte[]> readAsBytes(String dir, String filename, int lineCount) {
/** Read file as byte*/
ArrayList<byte[]> outputArr = new ArrayList<byte[]>();
try {
InputStreamReader inputStreamReader = new InputStreamReader(new FileInputStream (dir+filename));
BufferedReader reader = new BufferedReader(inputStreamReader);
if (lineCount == -1) {
String buf = "";
buf = reader.readLine();
if (buf != null) {
outputArr.add(buf.getBytes());
}
}
else {
for (int i = 0; i < lineCount; i++) {
String buf = reader.readLine();
if (buf != null) {
outputArr.add(buf.getBytes());
}
else continue;
}
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
誰でも手助けできますか?おそらくちょっとした間違いでしょうが、疲れ始めました...
なぜバイトが欲しいのですか?単にバッファリングされたストリームを使用するだけではありません。 – bmargulies
'-1'か' 1'の 'lineCount'を渡していると思います。 –
あなたはどのラインカウント値を渡していますか? – jtahlborn