FileWriter 寫入文件中文亂碼


從前台jsp表單拿到數據,寫入本地臨時文件中。本地運行沒問題,部署到服務器端,出現亂碼。服務器環境win2003

原始代碼:

1 FileWriter writer = new FileWriter(path);
2 
3 writer.write(fileContent)

解決后的:

1 Writer writer = new BufferedWriter(
2                         new OutputStreamWriter(
3                                 new FileOutputStream(path), "UTF-8"));
4 
5 writer.write(fileContent);

無亂碼

但由於生成的內容要寫入文件,如(.java  .c .cpp), 但無法編譯成功,識別不出格式,顯示為mac文件。那就換種方法吧:

1 FileWriter fw = new FileWriter(path);
2 BufferedWriter bw = new BufferedWriter(fw);
3 bw.write(fileContent);

這樣貌似不存在中文亂碼問題.. 但貌似還是不行..

 

最后發現根本原因不在於流的轉換,而是在前台獲取文本內容時,以前為了防止文本文件在記事本中不換行的現象,加了\n到 \r\n的轉換

最后導致了生成用例文件無法編譯~  一直找錯了方向   


免責聲明!

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



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