java 使用sourceforge.pinyin4j查询汉字拼音(六)

2014-11-24 09:46:32 · 作者: · 浏览: 3
V); //ǜ的输出格式设置 'ü' 输出为 "v"
outputFormat.setCaseType(HanyuPinyinCaseType.UPPERCASE); //输出拼音为大写
// outputFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE); //输出拼音为小写
String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(chineseCharacter, outputFormat); //汉字拼音
for(String str: pinyinArray){ //多音字输出,会返回多音字的格式
System.out.println(str);
}

String pinyinstr = PinyinHelper.toHanyuPinyinString("绿色", outputFormat, "|");
System.out.println(pinyinstr);


//其他拼音系统的输出

String[] GwoyeuRomatzyhStringArray = PinyinHelper.toGwoyeuRomatzyhStringArray(chineseCharacter);
for(String str: GwoyeuRomatzyhStringArray){ //多音字输出,会返回多音字的格式
System.out.println(str);
}

String[] MPS2PinyinStringArray = PinyinHelper.toMPS2PinyinStringArray(chineseCharacter);
for(String str: MPS2PinyinStringArray){ //多音字输出,会返回多音字的格式
System.out.println(str);
}

String[] TongyongPinyinStringArray = PinyinHelper.toTongyongPinyinStringArray(chineseCharacter);
for(String str: TongyongPinyinStringArray){ //多音字输出,会返回多音字的格式
System.out.println(str);
}

String[] WadeGilesPinyinStringArray = PinyinHelper.toWadeGilesPinyinStringArray(chineseCharacter);
for(String str: WadeGilesPinyinStringArray){ //多音字输出,会返回多音字的格式
System.out.println(str);
}

String[] YalePinyinStringArray = PinyinHelper.toYalePinyinStringArray(chineseCharacter);
for(String str: YalePinyinStringArray){ //多音字输出,会返回多音字的格式
System.out.println(str);
}

}

}

输出:
[html]
LU:4
LU4
LU:4|SE4
liuh
luh
liu4
lu4
lyu4
lu4
lu:4
lu4
lyu4
lu4

这个拼音包里还自带了一个demo, Pinyin4jAppletDemo.java


至于实现,其实很简单,就是有一个词典,汉字跟拼音的对应关系文件词典,unicode_to_hanyu_pinyin.txt是汉字的unicode字符对应的拼音对应表,pinyin_mapping.xml是汉语拼音系统跟其他系统的对照表,pinyin_Gwoyeu_mapping.xml是汉语系统跟Gwoyeu拼音系统的对照列表。格式参考如下,其实整理完这些之后就很容易实现了。


[html]
< xml version="1.0" >


a
a
a
a
a


ai
ai
ai
ai
ai

[html]

a
a
ar
aa
ah
.a


ai
ai
air
ae
ay
.ai