where the amazing happens

          類似qq的漢字拼音首字查詢

          項目里要用到這個功能,自己邊琢磨邊找資料,弄出一個demo,大概思路是這樣:用Properties的load()來加載一個固定格式的文本文件注1,然后直接當Hashtable用。
          package org.navyblue.tests;

          import java.util.
          *;

          /**
           *
           * 類似qq的漢字拼音首字查詢方法
           * by zqc 2005-08-04
           *
           **
          */

          public class pyTest
          {
              
          public pyTest(){}
              
              
          public static void main(String[] args)throws Exception{
                  Properties pyMap 
          = new Properties();
                  
          //拼音隱射表
                  pyMap.load(new java.io.FileInputStream("pyutf.txt"));
                  
          //測試字符
                  String[] testStr = {"我們","阿哈","嘎嘎","干什么","鄭晴川",""};
                  
          //模擬輸入
                  String input = "g";
                  
                  System.
          out.println ("輸入查詢字符:g");
                  Vector inis 
          = new Vector();
                  Vector results 
          = new Vector();
                  Vector results2 
          = new Vector();
                  
                  
          //返回所有測試字符串的首字的打頭拼音
                  forint i =0 ; i < testStr.length ; i++ ){
                      String ini 
          =new String( new char[] { testStr[i].charAt(0)} );
                      String k 
          = (String)pyMap.get(ini);
                      results.add(k);
                      results2.add(testStr[i]);
                  }

                  
                  
          //輸出結果
                  int l = results.size();
                  
          for(int i = 0 ; i < l ; i++){
                      String c 
          = (String)results.get(i);
                      
          if(c.equals(input)){
                          System.
          out.println (results2.get(i));
                      }

                  }

              }

          }


          ----
          注1:這個映射文件系網上找來的,大約有14K的漢字量,一般也夠用了~用文本工具對原先的格式做了些修改使它符合Properties的格式,然后再用native2ascii轉成utf-8編碼。



          2005年8月8日 0:48:54

          posted on 2005-08-08 00:59 where the amazing happens 閱讀(1072) 評論(4)  編輯  收藏 所屬分類: 一般應用

          評論

          # re: 類似qq的漢字拼音首字查詢 2005-08-08 08:27 zeno

          速度怎么樣? 可以介紹一下么  回復  更多評論   

          # re: 類似qq的漢字拼音首字查詢 2005-08-08 12:02 鳥不生蛋蛋的地方

          Hashtable讀出來后就一直常駐在內存里,等訪問的時候調用,所以速度應該不慢.  回復  更多評論   

          # re: 類似qq的漢字拼音首字查詢 2006-04-23 04:28 鳥不生蛋蛋的地方

          哦,后來才知道,可以根據unicode編碼地址來找,更準確更全面.  回復  更多評論   

          # 2010.1月.28日 2010-01-29 10:38 賀森

          既然,我們遇見了.就好好珍惜彼此吧,請你相信我,對你所做的一切 很用心,很用心.希望你我都不是對方人生中的過客.多希望創造一個美好的結局  回復  更多評論   

          公告

          點擊這里給我發消息

          導航

          <2010年1月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          統計

          常用鏈接

          留言簿(3)

          隨筆分類(18)

          隨筆檔案(17)

          文章分類

          相冊

          其他我的blog

          技術Blog

          最新隨筆

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 玛多县| 息烽县| 汽车| 衡山县| 淅川县| 彰化县| 沁阳市| 林芝县| 茶陵县| 滦平县| 吉水县| 繁昌县| 徐闻县| 罗定市| 米脂县| 汉寿县| 平武县| 崇仁县| 通化县| 彭水| 凤冈县| 大冶市| 鄂尔多斯市| 孙吴县| 耿马| 犍为县| 临汾市| 甘谷县| 太湖县| 日喀则市| 闵行区| 平塘县| 城市| 含山县| 巴南区| 柯坪县| 五家渠市| 启东市| 岳阳县| 旺苍县| 寻甸|