出現原因:
在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") //指定編碼讀取
