解決FileOutputStream中文亂碼問題

使用FileOutputStream序列化能夠直接向文件寫入文本內容,代碼以下:瀏覽器

FileOutputStream outStream = new FileOutputStream(file);app

outStream.write(str.getBytes());編碼

outStream.close();utf-8

但這裏的字符串若是包含中文,就會出現亂碼,這是由於FileOutputStream是字節流,將文本按字節寫入文件,而一個漢字是兩個字節,沒法一次寫入,就會出現亂碼,解決方法是使用OutputStreamWriter將字節流轉換爲字符流寫入,同時指定utf-8編碼。代碼以下:字符串

OutputStreamWriter oStreamWriter = new OutputStreamWriter(new FileOutputStream(file), "utf-8");get

oStreamWriter.append(str);it

oStreamWriter.close();亂碼

在個人實際應用中使用的是GBK,由於要在瀏覽器上直接輸出,utf-8和iso8859-1都會是亂碼file

相關文章
相關標籤/搜索