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

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

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

瀏覽:115日期: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
相關文章:
主站蜘蛛池模板: 东城区| 曲阜市| 宜都市| 江西省| 巍山| 临高县| 曲麻莱县| 安平县| 谢通门县| 贵德县| 兴业县| 柳河县| 阿图什市| 余庆县| 兴国县| 吴桥县| 博爱县| 嵊泗县| 固始县| 海淀区| 乌兰察布市| 洱源县| 玉龙| 滁州市| 洪江市| 富顺县| 中宁县| 甘谷县| 灵丘县| 公主岭市| 宝山区| 平定县| 临汾市| 平谷区| 若尔盖县| 汶川县| 铜陵市| 安平县| 五莲县| 库伦旗| 开远市|