java使用io流讀取windows文件亂碼問題


出現原因:

在IDEA中,使用 FileReader 讀取項目中的文本文件。由於IDEA的設置,都是默認的 UTF-8 編碼,所以沒有任何 問題。

但是,當讀取Windows系統中創建的文本文件時,由於Windows系統的默認是GBK編碼,就會出現亂碼

 

解決辦法:

使用InputStreamReader類 

轉換流 java.io.InputStreamReader ,是Reader的子類,是從字節流到字符流的橋梁。

它讀取字節,並使用指定 的字符集將其解碼為字符。

它的字符集可以由名稱指定,也可以接受平台的默認字符集。

InputStreamReader isr = new InputStreamReader(new FileInputStream("in.txt"));  //未指定編碼讀取

InputStreamReader isr2 = new InputStreamReader(new FileInputStream("in.txt") , "GBK") //指定編碼讀取


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM