如何解決fileinputstream中文亂碼問題?一起了解一下吧!
Java中使用 FileInputStream 讀取txt等文檔時,中文會產(chǎn)生亂碼,這是因為一個中文對應兩個字節(jié)存儲(負數(shù)),也就是說,讀取對應中文的字節(jié)數(shù)應該是偶數(shù); 而英文對應一個字節(jié)存儲。FileInputStream每次讀取一個數(shù)組長度的字節(jié)時,讀取的中文字節(jié)數(shù)可能是奇數(shù),也就是只讀到中文的一半字節(jié),出現(xiàn)亂碼。
解決方法是:
try {
fis = new FileInputStream(file);
InputStreamReader reader = new InputStreamReader(fis,"GBK"); //最后的"GBK"根據(jù)文件屬性而定,如果不行,改成"UTF-8"試試 BufferedReader br = new BufferedReader(reader); String line; while ((line = br.readLine()) != null) { System.out.println(line); } br.close(); reader.close(); } catch (Exception e) { e.printStackTrace(); } finally { if (fis != null) { try { fis.close(); } catch (IOException e) { e.printStackTrace(); } } }
關于解決fileinputstream中文亂碼問題,我們就了解到這啦!
聲明:本網(wǎng)頁內容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com