關於BufferedReader讀取文件指定字符集問題

BufferedReader讀取文件指定字符集問題

默認的讀取方式

BufferedReader bufferedReader = new BufferedReader(new FileReader(realPath));

指定字符集方式

BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(realPath),“UTf-8”));

BufferedReader類讀取中文亂碼

解決方法:

BufferedReader in = new BufferedReader(new FileReader(filename, Charset.forName("utf-8")));

在new FileReader類對象的時候,使用

FileReader(String fileName, Charset charset)

這個構造函數傳一個參數指定一下字符集就OK瞭。原因是不指定字符集的話就會使用默認的字符集(一般是GBK),若與要讀取文件的字符集不一致,則即便是字符流也會出現亂碼。

字符集獲取方法(Charset類是不可變類):

Charset.forName(String charsetName)

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: