我想使用Java的BufferedReader读取一个90kb的文件(显然大约等于90,000字节),但它只在61字节后停止。该文件没问题,我已经使用HexEditor进行了检查。
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();
}
有人可以帮忙吗?可能有点简单的错误,但我开始厌倦了......
答案 0 :(得分:1)
BufferInputStream
代替BufferedReader
完成了这项工作。完全忘记了这门课的存在。