歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Java讀文件轉碼問題

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

以前也碰到過這類問題,記得當時也是折騰了好久才搞定的。信心滿滿以為自己已經完全理解了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