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(); |
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
原文鏈接:http://blog.csdn.net/u011421608/article/details/50972315