久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

java8 - java.nio.charset.MalformedInputException: Input length = 2

瀏覽:120日期:2024-02-17 16:12:37

問題描述

問題解答

回答1:

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就是有問題的

回答2:

謝邀。你可能搞錯了IO和NIO之間的區別,最基本的一點是IO是面向流的,NIO面向緩沖區的,而你的代碼很明顯是使用了BufferedReader以及InputStreamReader流,如果使用nio,readLine根本不能讀取,NIO只能讀取緩沖區,掃描緩沖區的大小,并且在解析數據時,比起阻塞IO流,NIO需要付出更大的代價。

標簽: java
相關文章:
主站蜘蛛池模板: 图片| 筠连县| 道孚县| 达拉特旗| 中山市| 莆田市| 柏乡县| 鹤岗市| 尼玛县| 南郑县| 合山市| 文化| 甘泉县| 百色市| 淳化县| 丁青县| 高雄市| 旌德县| 达孜县| 平阴县| 肃南| 浠水县| 青田县| 峨山| 即墨市| 随州市| 玉林市| 贵南县| 上虞市| 屏东县| 吉木乃县| 辽宁省| 凤庆县| 绥德县| 韶山市| 綦江县| 蓝山县| 黎川县| 雷山县| 杭锦后旗| 砀山县|