聚合 管理  

          Blog Stats

          News

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

          隨筆分類(28)

          文章分類(4)

          隨筆檔案(53)

          文章檔案(4)

          相冊

          相關(guān)鏈接


          林俊海的博客

          超級大菜鳥,每天要自強(qiáng)!

          之前寫過一個(gè)方法可以解決從外部讀入文本時(shí)中文不會(huì)亂碼,可是從程序中的字符串要寫回文本文件時(shí)又出現(xiàn)了中文字符亂碼,原因是JAVA默認(rèn)使用Unicode編碼的字符,而我們使用的windows系統(tǒng)文本文件使用的是GBK編碼,要解決這個(gè)問題,就得從編碼上入手。下面這個(gè)方法就可以將字符串以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) {}
           }
           
           //測試函數(shù)
           public static void main(String[] args) {
            //將指定的文本內(nèi)容以 GBK 編碼寫入磁盤的指定路徑。
            String content = "你好!林志斌";
            WriteText.writeText("C:/hello.txt", content);
           }
          }

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

          評論

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

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

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

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

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

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

          你有沒有試過反編譯

          你怎么知道 gbk 的 java 文件,編譯后會(huì)在 ***.class 中保留 gbk 字節(jié)  回復(fù)  更多評論
            

          主站蜘蛛池模板: 高淳县| 云林县| 桐梓县| 陕西省| 巴塘县| 芜湖县| 泽普县| 涟源市| 河北区| 揭阳市| 宁武县| 枣庄市| 岗巴县| 桃园县| 平遥县| 卢湾区| 江油市| 遂宁市| 始兴县| 边坝县| 咸阳市| 洛川县| 泸州市| 新兴县| 昌图县| 普陀区| 漾濞| 临泽县| 巴塘县| 竹溪县| 昌图县| 谢通门县| 宜章县| 砀山县| 仁怀市| 黔西| 依兰县| 西华县| 潼关县| 洛浦县| 平顺县|