歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Java讀文件轉碼問題

Java讀文件轉碼問題

日期:2017/3/1 10:14:01   编辑:Linux編程

說實話我現在很不開心。快零晨兩點了,搞個數據庫碰到編碼問題,搞了好久。

以前也碰到過這類問題,記得當時也是折騰了好久才搞定的。信心滿滿以為自己已經完全理解了java的編解碼問題,以後再碰到就可以輕松搞定,連個筆記都沒做。事實證明好記性不如爛筆頭啊,寫個博客也好啊。時間長了還真就忘了,同樣的問題再去搞一遍,不開心啊不開心。

  1. InputStream is = new FileInputStream("xxx.txt");
  2. BufferedReader reader = new BufferedReader(new InputStreamReader(is,"gbk"));
     
  1. OutputStream os = new FileOutputStream("sx.txt");
  2. String line;
  3. BufferedReader reader = new BufferedReader(new InputStreamReader(is,"gbk"));

這句是神馬意思啊,是用指定的gbk碼去讀文件嗎?確實是這樣的。但是要測啊,不測的結果都靠不住啊。你剛好拿個gbk編碼的文件來測,然後轉碼成功了,告訴別人用指定編碼去讀文件可以轉碼,你妹啊。這句的意思是用對應的編碼去讀文件,就是你用神馬編的用神馬去讀,你的是gbk的就用gbk讀,不是隨便一個文件你都可以隨便指定一個編碼去讀啊。

然後指定輸出編碼

PrintWriter writer = new PrintWriter(new OutputStreamWriter(os,"utf-8"));

OK。

Copyright © Linux教程網 All Rights Reserved