資源簡介
java工具類 實現漢字與拼音的自動轉換,支持中文字符和拼音之間的轉換。拼音輸出格式可以定制。

代碼片段和文件信息
package?cn.itcast.bos.utils;
import?java.util.Arrays;
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?PinYin4jUtils?{
/**
?*?將字符串轉換成拼音數組
?*?
?*?@param?src
?*?@return
?*/
public?static?String[]?stringToPinyin(String?src)?{
return?stringToPinyin(src?false?null);
}
/**
?*?將字符串轉換成拼音數組
?*?
?*?@param?src
?*?@return
?*/
public?static?String[]?stringToPinyin(String?src?String?separator)?{
return?stringToPinyin(src?true?separator);
}
/**
?*?將字符串轉換成拼音數組
?*?
?*?@param?src
?*?@param?isPolyphone
?*????????????是否查出多音字的所有拼音
?*?@param?separator
?*????????????多音字拼音之間的分隔符
?*?@return
?*/
public?static?String[]?stringToPinyin(String?src?boolean?isPolyphone
String?separator)?{
//?判斷字符串是否為空
if?(““.equals(src)?||?null?==?src)?{
return?null;
}
char[]?srcChar?=?src.toCharArray();
int?srcCount?=?srcChar.length;
String[]?srcStr?=?new?String[srcCount];
for?(int?i?=?0;?i? srcStr[i]?=?charToPinyin(srcChar[i]?isPolyphone?separator);
}
return?srcStr;
}
/**
?*?將單個字符轉換成拼音
?*?
?*?@param?src
?*?@return
?*/
public?static?String?charToPinyin(char?src?boolean?isPolyphone
String?separator)?{
//?創建漢語拼音處理類
HanyuPinyinOutputFormat?defaultFormat?=?new?HanyuPinyinOutputFormat();
//?輸出設置,大小寫,音標方式
defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
StringBuffer?tempPinying?=?new?StringBuffer();
//?如果是中文
if?(src?>?128)?{
try?{
//?轉換得出結果
String[]?strs?=?PinyinHelper.toHanyuPinyinStringArray(src
defaultFormat);
//?是否查出多音字,默認是查出多音字的第一個字符
if?(isPolyphone?&&?null?!=?separator)?{
for?(int?i?=?0;?i? tempPinying.append(strs[i]);
if?(strs.length?!=?(i?+?1))?{
//?多音字之間用特殊符號間隔起來
tempPinying.append(separator);
}
}
}?else?{
tempPinying.append(strs[0]);
}
}?catch?(BadHanyuPinyinOutputFormatCombination?e)?{
e.printStackTrace();
}
}?else?{
tempPinying.append(src);
}
return?tempPinying.toString();
}
public?static?String?hanziToPinyin(String?hanzi)?{
return?hanziToPinyin(hanzi?“?“);
}
/**
?*?將漢字轉換成拼音
?*?
?*?@param?hanzi
?*?@param?separator
?*?@return
?*/
public?static?String?hanziToPinyin(String?hanzi?String?separator)?{
//?創建漢語拼音處理類
HanyuPinyinOutputFormat?defaultFormat?=?new?HanyuPinyinOutputFormat();
//?輸出設置,大小寫,音標方式
defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
String?pinyingStr?=?““;
try?{
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????7541??2015-01-07?12:16??pinyin4j\PinYin4jUtils.java
?????文件??????188920??2015-01-07?12:16??pinyin4j\pinyin4j-2.5.0.jar
?????目錄???????????0??2018-01-31?19:58??pinyin4j\
- 上一篇:java寫貪吃蛇游戲及詳細注釋
- 下一篇:登陸-注冊實現代碼jsp+jdbc
評論
共有 條評論