java中FileOutputStream中文亂碼問題解決辦法

  • A+
所屬分類:百科知識

這篇文章主要介紹了java中FileOutputStream中文亂碼問題解決辦法的相關資料,需要的朋友可以參考下

java中FileOutputStream中文亂碼問題解決辦法

使用FileOutputStream序列化可以直接向文件寫入文本內容,代碼如下:

1
2
3
FileOutputStream outStream = new FileOutputStream(file);
outStream.write(str.getBytes());
outStream.close();

但這里的字符串如果包含中文,就會出現亂碼,這是因為FileOutputStream是字節流,將文本按字節寫入文件,而一個漢字是兩個字節,無法一次寫入,就會出現亂碼,解決方法是使用OutputStreamWriter將字節流轉換為字符流寫入,同時指定utf-8編碼。

代碼如下:

1
2
3
OutputStreamWriter oStreamWriter = new OutputStreamWriter(new FileOutputStream(file), "utf-8");
oStreamWriter.append(str);
oStreamWriter.close();

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

推薦應用

發表評論

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: