84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
光阴似箭催人老,日月如移越少年。
public static void main(String[] args) throws IOException { File file = new File("/home/yangxiaohuan/Documents/TokenizeThenSplitParallelDeletePatternLTZero.txt"); InputStreamReader read = new InputStreamReader(new FileInputStream(file), "UTF-8");// 考虑到编码格式 BufferedReader br = new BufferedReader(read); int cnt=0; while(br.ready()){ String text = br.readLine(); cnt++; if(cnt>=47334){ System.out.println(text); } System.out.println("cnt = "+cnt); } } }
原來的程式碼需要導入下面的類別import java.nio.file.Files;import java.nio.file.Paths;但是換成這種形式import java.io.File;import java.io. FileInputStream;就是正常的,沒有出錯。 而且還有朋友說,將原來的文本裡面,將出錯的那一行,刪除一個字符也是不會報錯的。很奇怪的問題。不知道為啥用nio.file.Files就是有問題的
謝邀。你可能搞錯了IO和NIO之間的區別,最基本的一點是IO是面向流的,NIO面向緩衝區的,而你的程式碼很明顯是使用了BufferedReader以及InputStreamReader流,如果使用nio,readLine根本不能讀取,NIO只能讀取緩衝區,掃描緩衝區的大小,並且在解析資料時,比起阻塞IO流,NIO需要付出更大的代價。
原來的程式碼需要導入下面的類別
import java.nio.file.Files;
import java.nio.file.Paths;
但是換成這種形式
import java.io.File;
import java.io. FileInputStream;
就是正常的,沒有出錯。
而且還有朋友說,將原來的文本裡面,將出錯的那一行,刪除一個字符也是不會報錯的。很奇怪的問題。不知道為啥用nio.file.Files就是有問題的
謝邀。你可能搞錯了IO和NIO之間的區別,最基本的一點是IO是面向流的,NIO面向緩衝區的,而你的程式碼很明顯是使用了BufferedReader以及InputStreamReader流,如果使用nio,readLine根本不能讀取,NIO只能讀取緩衝區,掃描緩衝區的大小,並且在解析資料時,比起阻塞IO流,NIO需要付出更大的代價。