where the amazing happens

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

          項(xiàng)目里要用到這個(gè)功能,自己邊琢磨邊找資料,弄出一個(gè)demo,大概思路是這樣:用Properties的load()來(lái)加載一個(gè)固定格式的文本文件注1,然后直接當(dāng)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"));
                  
          //測(cè)試字符
                  String[] testStr = {"我們","阿哈","嘎嘎","干什么","鄭晴川","誰(shuí)"};
                  
          //模擬輸入
                  String input = "g";
                  
                  System.
          out.println ("輸入查詢字符:g");
                  Vector inis 
          = new Vector();
                  Vector results 
          = new Vector();
                  Vector results2 
          = new Vector();
                  
                  
          //返回所有測(cè)試字符串的首字的打頭拼音
                  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]);
                  }

                  
                  
          //輸出結(jié)果
                  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:這個(gè)映射文件系網(wǎng)上找來(lái)的,大約有14K的漢字量,一般也夠用了~用文本工具對(duì)原先的格式做了些修改使它符合Properties的格式,然后再用native2ascii轉(zhuǎn)成utf-8編碼。



          2005年8月8日 0:48:54

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

          評(píng)論

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

          速度怎么樣? 可以介紹一下么  回復(fù)  更多評(píng)論   

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

          Hashtable讀出來(lái)后就一直常駐在內(nèi)存里,等訪問(wèn)的時(shí)候調(diào)用,所以速度應(yīng)該不慢.  回復(fù)  更多評(píng)論   

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

          哦,后來(lái)才知道,可以根據(jù)unicode編碼地址來(lái)找,更準(zhǔn)確更全面.  回復(fù)  更多評(píng)論   

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

          既然,我們遇見(jiàn)了.就好好珍惜彼此吧,請(qǐng)你相信我,對(duì)你所做的一切 很用心,很用心.希望你我都不是對(duì)方人生中的過(guò)客.多希望創(chuàng)造一個(gè)美好的結(jié)局  回復(fù)  更多評(píng)論   

          公告

          點(diǎn)擊這里給我發(fā)消息

          導(dǎo)航

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

          統(tǒng)計(jì)

          常用鏈接

          留言簿(3)

          隨筆分類(18)

          隨筆檔案(17)

          文章分類

          相冊(cè)

          其他我的blog

          技術(shù)Blog

          最新隨筆

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 澜沧| 和硕县| 黄大仙区| 永靖县| 进贤县| 金平| 凉城县| 新和县| 阳东县| 中超| 双江| 苗栗县| 南召县| 华阴市| 永年县| 北流市| 青铜峡市| 藁城市| 定州市| 洛浦县| 郴州市| 九龙县| 通化县| 宜川县| 临清市| 延吉市| 鄂尔多斯市| 来宾市| 新绛县| 定边县| 乌兰察布市| 乌什县| 建湖县| 惠东县| 康乐县| 若羌县| 酉阳| 吉安县| 衡东县| 弥渡县| 乐平市|