Java 隨機讀寫文件流出現亂碼解決方案


參照課本:Java 大學實用教程

需要注意的是,RondomAccesFile流的readLine()方法在讀取含有非ASCLL字符的文件時(如含有漢字)會出現亂碼問題,因此需要把readLine()讀取的字符串用“iso-8859-1"重新編碼放到數組byte中,然后用當前機器的編碼將該數組轉化為字符串,操作如下:

(1)讀取

String line = in.readLine();

(2)用 iso-8859-1 重新編碼

byte b[] = line.getBytes("iso-8859-1");

(3)使用當前機器的默認編碼將字節數組轉化為字符串

String content = new String(b);

如果當前機器默認編碼是GB2312,那么,上面等價於:

String content = new String(b,"GB2312");

(有的是utf-8)


免責聲明!

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



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