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 2012-01-10 16:52:19
我會猜測你正在傳入一個'line',它是'-1'或'1'。 – 2012-01-10 16:59:29
你通過什麼linecount價值? – jtahlborn 2012-01-10 17:00:27