andy-j2ee |
|
|||
JAVA |
公告
日歷
統計
導航常用鏈接留言簿隨筆分類(5)隨筆檔案(19)文章分類(1)文章檔案(1)搜索最新評論
閱讀排行榜評論排行榜 |
今天開發了自己的第二個開源工具 jar包
名稱:pinyin4j.jar 功能: 將漢語拼音轉換為漢語拼音 算法: 從對應的資源文件中(文件中包含了常用漢字的unicode編碼-拼音) 文件格式如下: 3007 (ling2) 4E00 (yi1) 4E01 (ding1,zheng1) 4E02 (kao3) 4E03 (qi1) 4E04 (shang4,shang3) . . . 用數據流的方式讀取 然后將unicode碼以key,pinyin為value存入一個HashMap中 接口: 傳入:漢語拼音的字符串 返回:拼音的字符串數組(即每個漢語拼音對應相應的拼音) 源碼: package com.anduo.pinyin4j; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.HashMap; public class PinYinHelper { private static HashMap<String, String> hashMap = new HashMap<String, String>(); /** * 將unicode-to-hanyu-pinyin.txt文件 以unicode為key pinyin為value 加到hashmap中 */ private static void myReader() { InputStream is = PinYinHelper.class.getClass().getResourceAsStream( "/resource/unicode_to_hanyu_pinyin.txt"); BufferedReader breader = new BufferedReader(new InputStreamReader(is)); String s; String unicode; String pinyin; try { while ((s = breader.readLine()) != null) { // 提取文件流每行中的unicode碼以及 pinyin字符串 unicode = s.substring(0, 4); pinyin = s.substring(6, s.length() - 1); hashMap.put(unicode.toLowerCase(), pinyin); } } catch (IOException e) { e.printStackTrace(); } } /** * 將漢語轉換為漢語拼音 * * @param value * @return pinyin[] */ public static String[] toHanYuPinYin(String value) { myReader(); String[] result = new String[value.length()]; String unicode; String pinyin; for (int i = 0; i < value.length(); i++) { Character c = value.charAt(i); unicode = Integer.toHexString(c);// 得到漢字的unicode編碼 pinyin = hashMap.get(unicode);// 從hashMap中找到漢子的拼音 result[i] = pinyin; } return result; } } 然后導出為jar包 測試一下: 新建一個java工程,然后將剛做好的jar包導入的工程中 新建一個test類 package com.anduo; import com.anduo.pinyin4j.PinYinHelper; public class test { public static void main(String[] args) { String s[] = PinYinHelper.toHanYuPinYin("大但是關鍵的是概多少了攻擊多少"); for (String string : s) { System.out.println(string); } } } 測試效果: da4,dai4 dan4 shi4 guan1 jian4 de5,di4,di2 shi4 gai4 duo1 shao3,shao4 le5,liao3,liao4 gong1 ji1 duo1 shao3,shao4 遇到的問題,在導出jar包的時候出了很多錯誤 主要問題出在: 如何讀取jar包中的資源文件 這個可以參考我收藏的一篇文章
已有 0 人發表留言,猛擊->>這里<<-參與討論 ITeye推薦 |
![]() |
|
Copyright © 安多 | Powered by: 博客園 模板提供:滬江博客 |