解決FileOutputStream中文亂碼問題

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

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

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

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

轉自:http://blog.csdn.net/u011421608/article/details/50972315

發佈了35 篇原創文章 · 獲贊 39 · 訪問量 30萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章