Pinyin4j - utils

来源:互联网 发布:纳什职业生涯总数据 编辑:程序博客网 时间:2024/05/02 02:37

PinYinUtils .java

public class PinYinUtils {    /**     * 得到指定汉字的拼音     * 注意:不应该被频繁调用,它消耗一定内存     * @param hanzi     * @return     */    public static String getPinYin(String hanzi){        String pinyin = "";        HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();//控制转换是否大小写,是否带音标        format.setCaseType(HanyuPinyinCaseType.UPPERCASE);//大写        format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);        //由于不能直接对多个汉字转换,只能对单个汉字转换        char[] arr = hanzi.toCharArray();        for (int i = 0; i < arr.length; i++) {            if(Character.isWhitespace(arr[i]))continue;//如果是空格,则不处理,进行下次遍历            //汉字是2个字节存储,肯定大于127,所以大于127就可以当为汉字转换            if(arr[i]>127){                try {                    //由于多音字的存在,单 dan shan                    String[] pinyinArr = PinyinHelper.toHanyuPinyinStringArray(arr[i], format);                    if(pinyinArr!=null){                        pinyin += pinyinArr[0];                    }else {                        pinyin += arr[i];                    }                } catch (BadHanyuPinyinOutputFormatCombination e) {                    e.printStackTrace();                    //不是正确的汉字                    pinyin += arr[i];                }            }else {                //不是汉字,                pinyin += arr[i];            }        }        return pinyin;    }}

pinyin4j.jar下载 (提取码:e37c)

0 0
原创粉丝点击