0
我想讀一個.txt文件,這是表中的製表位格式是這樣的:JAVA:如何在delimitered一個製表位閱讀很長的行txt.file
1 ABC short text
2 DEF very very long text....
3 GHI short text
4 JKL short text
的問題是,不當文本非常長(這意味着只有幾KB而非GB左右;-))。 我用這個代碼做閱讀:
try {
InputStream fis = new FileInputStream(file.getAbsolutePath());
InputStreamReader isr = new InputStreamReader(fis, Charset.forName("ISO-8859-1"));
BufferedReader br = new BufferedReader(isr);
while ((line = br.readLine()) != null) {
String[] values = line.split("\t", -1); // don't truncate empty fields
System.out.println(values[0] + " " + values[1] + " " + values[2]);
}
}
說明問題更好:上表中的 的結果是這樣的(這不應該是):
1 ABC short text
2 DEF very very lo
你可以試試[這個答案](http://stackoverflow.com/a/13569964/3998458) –
很長時間,我的意思是像幾個KB.I認爲它在比255個字符更長的行破壞。 – user3776738
你真的打到OOM嗎?或者在邏輯上,你認爲它實際上並沒有讀完整行?我試圖理解當你說「問題是,不是全行被讀取」的時候到底是什麼問題,你會看到一個錯誤嗎? – SGM1