“苦恨年年压金线,为他人作嫁衣裳”
用java获取中文字的拼音,首先要用到的就是一个pinyin4j的jar包,,这里我已经提供了.
pinyin4j的jar包下载地址
其次,,还需要写一个工具类,,
import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
public class PinYin {
public PinYin() {
}
//获取中文字幕缩写的方法
public String converterToFirstSpell(String chines) {
String pinyinName = "";
char[] nameChar = chines.toCharArray();
HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
for(int i = 0; i < nameChar.length; ++i) {
if (nameChar[i] > 128) {
try {
pinyinName = pinyinName + PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0].charAt(0);
} catch (BadHanyuPinyinOutputFormatCombination var7) {
var7.printStackTrace();
}
} else {
pinyinName = pinyinName + nameChar[i];
}
}
return pinyinName;
}
//获得中文全拼的方法
public String converterToSpell(String chines) {
String pinyinName = "";
char[] nameChar = chines.toCharArray();
HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
for(int i = 0; i < nameChar.length; ++i) {
if (nameChar[i] > 128) {
try {
pinyinName = pinyinName + PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0];
} catch (BadHanyuPinyinOutputFormatCombination var7) {
var7.printStackTrace();
}
} else {
pinyinName = pinyinName + nameChar[i];
}
}
return pinyinName;
}
}
最后,,在项目的任何一个地方就都可以用了.
PinYin py = new PinYin();
//获取缩写
String pinyinfirst = py.converterToFirstSpell("中文字");
//获得全拼
String pinyin = py.converterToSpell("中文字");