FileReader讀取中文字符亂碼問題


   FileReader fr=new FileReader(new File(filePath));
   BufferedReader br = new BufferedReader(fr);

直接使用FileReader讀取一個包含中文字符的文件,將字符輸入流放到BufferedReader中,通過BufferedReader讀取出來
的中文字符串亂碼.

分析:文件流讀取時使用的編碼方式和文件本身編碼方式不同,造成讀取出來文件亂碼.

解決辦法:讀取文件時指定讀取文件的編碼方式.

InputStreamReader isr = new InputStreamReader(new FileInputStream(new File(filePath)), "UTF-8");
BufferedReader br = new BufferedReader(isr);

使用FileInputStream類讀取文件流,BufferedReader構造方法只能接收字符流,利用InputStreamReader將字節流轉化為字符流,同時指定文件流的編碼方式,將字符流放到 BufferedReader中,進行操作,中文讀取亂碼問題解決.


參考文章:https://blog.csdn.net/wjw521wjw521/article/details/72831704


免責聲明!

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



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