...">
瀏覽量:147次
如何解決fileinputstream中文亂碼問題?一起了解一下吧!
Java中使用 FileInputStream 讀取txt等文檔時(shí),中文會(huì)產(chǎn)生亂碼,這是因?yàn)橐粋€(gè)中文對應(yīng)兩個(gè)字節(jié)存儲(負(fù)數(shù)),也就是說,讀取對應(yīng)中文的字節(jié)數(shù)應(yīng)該是偶數(shù); 而英文對應(yīng)一個(gè)字節(jié)存儲。FileInputStream每次讀取一個(gè)數(shù)組長度的字節(jié)時(shí),讀取的中文字節(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(); } } }
關(guān)于解決fileinputstream中文亂碼問題,我們就了解到這啦!
[聲明]本網(wǎng)轉(zhuǎn)載網(wǎng)絡(luò)媒體稿件是為了傳播更多的信息,此類稿件不代表本網(wǎng)觀點(diǎn),本網(wǎng)不承擔(dān)此類稿件侵權(quán)行為的連帶責(zé)任。故此,如果您發(fā)現(xiàn)本網(wǎng)站的內(nèi)容侵犯了您的版權(quán),請您的相關(guān)內(nèi)容發(fā)至此郵箱【779898168@qq.com】,我們在確認(rèn)后,會(huì)立即刪除,保證您的版權(quán)。
官網(wǎng)優(yōu)化
整站優(yōu)化
渠道代理
400-655-5776