聚合 管理  

          Blog Stats

          News

          我使用新博客啦:
          http://www.linjunhai.com/
          大家到我的新博客上看看吧!

          隨筆分類(28)

          文章分類(4)

          隨筆檔案(53)

          文章檔案(4)

          相冊

          相關鏈接


          林俊海的博客

          超級大菜鳥,每天要自強!

          之前寫過一個方法可以解決從外部讀入文本時中文不會亂碼,可是從程序中的字符串要寫回文本文件時又出現了中文字符亂碼,原因是JAVA默認使用Unicode編碼的字符,而我們使用的windows系統文本文件使用的是GBK編碼,要解決這個問題,就得從編碼上入手。下面這個方法就可以將字符串以GBK編碼寫入文本文件,這樣就可以解決寫入中文字符亂碼的問題了。

          /**
          * @(#)WriteText.java  17:58 10/09/06
          * @versoin 0.01
          * @author 林志斌(alvin) 廣東 普寧 里湖
          * Copyright ? 1996-2006 zmzx.icpcn.com All Rights Reserved
          * Use is subject to license terms.
          */

          package alvin.alvinio;

          import java.io.*;

          public class WriteText {

           public static void writeText(String path, String text) {
            try {
              FileOutputStream o = new FileOutputStream(path);
              o.write(text.getBytes("GBK"));
              o.close();
            } catch(Exception e) {}
           }
           
           //測試函數
           public static void main(String[] args) {
            //將指定的文本內容以 GBK 編碼寫入磁盤的指定路徑。
            String content = "你好!林志斌";
            WriteText.writeText("C:/hello.txt", content);
           }
          }

          posted on 2006-11-05 18:22 林俊海 閱讀(9876) 評論(5)  編輯  收藏 所屬分類: JAVA天地

          評論

          # re: 解決 JAVA 寫入文本文件時中文亂碼 2008-07-02 11:06 fangalone
          test ok,3qs  回復  更多評論
            

          # re: 解決 JAVA 寫入文本文件時中文亂碼[未登錄] 2008-10-27 09:51 哈哈
          你這個好像不行吧
          寫到C:/hello.txt 僅僅是一個內存存儲的物理地址。而不是想要的“你好!林志斌”  回復  更多評論
            

          # re: 解決 JAVA 寫入文本文件時中文亂碼[未登錄] 2008-10-27 10:12 哈哈
          可以
          謝謝!!!  回復  更多評論
            

          # re: 解決 JAVA 寫入文本文件時中文亂碼 2009-12-23 10:13 為各
          碰巧而已。你程序中的中文字串也是GBK的。你用UltraEdit這樣的編輯器編輯一段unicode的java源程序文本再來試。
          好好看看getBytes("CharsetID")的說明。
            回復  更多評論
            

          # re: 解決 JAVA 寫入文本文件時中文亂碼 2009-12-23 10:24 林志斌
          @為各
          難道你不知道 ***.class 字節碼文件中的都是 unicode 保存的了

          難道你不知道 對于非平臺默認編碼的 ***.java 源文件,編譯時,需要指明 -encoding 參數

          你有沒有試過反編譯

          你怎么知道 gbk 的 java 文件,編譯后會在 ***.class 中保留 gbk 字節  回復  更多評論
            

          主站蜘蛛池模板: 金秀| 巍山| 陵川县| 安图县| 嘉禾县| 延川县| 肇东市| 湖北省| 阿拉尔市| 大厂| 崇信县| 平和县| 西宁市| 高州市| 宁武县| 永昌县| 灵宝市| 南郑县| 锦州市| 绥化市| 巴东县| 翁源县| 斗六市| 右玉县| 张家港市| 胶州市| 景洪市| 林周县| 策勒县| 永登县| 台东市| 安塞县| 大荔县| 中江县| 汨罗市| 淄博市| 新和县| 三台县| 五大连池市| 华安县| 阜城县|