有的时候我们需要将中文转换成汉语拼音,将汉字转换成汉语拼音其实挺简单。首先我找到了一个资源,是一个XML文件:TBL_Dict.xml ,这个文件中每个汉字作为一个节点,该节点下有该汉字对应的汉语拼音,我的方法就是读取这个文件。

import java.util.List;

import org.dom4j.Element;

import com.yesoft.jdbcgeneric.constant.ConstantEnum;

public class HzChangeToPy {

/**

* 将中文字符串转换成汉语拼音

* @param wenzi

* @return

*/

public String toPinYin(String wenzi){

//XMLReader是一个读取xml文件的工具类,getRootElement()是将读取的xml文件内容返回为Element类型,这里我们解析xml使用的是dom4j。

XMLReader xmlReader = new XMLReader(ConstantEnum.PINYINXML.toString());

Element commonElement = xmlReader.getRootElement();

//Element wenziElement = commonElement.element("NewDataSet");

String pyStr = "";

List wenziList = commonElement.elements();

String[] str = chai(wenzi);

for(int i = 0;i < str.length;i++){

for (Element el : wenziList) {

String name = el.elementText("wenzi");

if (name.equals(str[i])) {

pyStr += el.elementText("zimu");

}

}

}

return pyStr;

}

/**

* 将中文字符串拆解为单个字的数组

* @param wenzi

* @return

*/

public String[] chai(String wenzi){

int length = wenzi.length();

String[] str = new String[length];

for(int i = 0;i

str[i] = wenzi.substring(i,i+1);

}

return str;

}

public static void main(String[] args){

HzChangeToPy py = new HzChangeToPy();

String srt = py.toPinYin("张三");

System.out.println(srt);

}

}      这样张三就能转换成zhangsan了。下面是读取文件的工具类:

package com.yesoft.jdbcgeneric.utils;

import java.io.File;

import java.net.URLDecoder;

import org.dom4j.Document;

import org.dom4j.Element;

import org.dom4j.io.SAXReader;

import com.yesoft.jdbcgeneric.job.ScanDataSourceCountJob;

public class XMLReader {

private Document xmlDoc;//

private Element root;//

private String fileName;

PropertiesUtil pu = new PropertiesUtil();

public XMLReader(String fileName) {

this.fileName = fileName;

readFile();

}

private Document readFile() {

try {

if (xmlDoc == null) {

String xmlClassPath = pu.readValueV("pyXmlPath");

// 使用SAXReader方式读取XML文件

SAXReader saxReader = new SAXReader();

String resourceListXmlPath = xmlClassPath + fileName;

String realPath_resourceListXmlPath = ScanDataSourceCountJob.class

.getResource(resourceListXmlPath).getFile();

realPath_resourceListXmlPath = URLDecoder.decode(realPath_resourceListXmlPath,"UTF-8");

File file = new File(realPath_resourceListXmlPath);

// InputStream in =

// ResourceXmlReader.class.getResourceAsStream(fileName);

// 加载数据库XML配置文件,得到Document对象

// xmlDoc = saxReader.read(in);

xmlDoc = saxReader.read(file);

}

} catch (Exception e) {

e.printStackTrace();

}

return xmlDoc;

}

public Document getXmlDoc() {

return xmlDoc;

}

public void setXmlDoc(Document xmlDoc) {

this.xmlDoc = xmlDoc;

}

public Element getRootElement() {

if (root == null) {

root = xmlDoc.getRootElement();

}

return root;

}

}

java如何将汉字转换为拼音_将汉字转换为汉语拼音java实现相关推荐

  1. java 实现汉字转换拼音_Java实现汉字转换为拼音

    # re: Java实现汉字转换为拼音 2006-11-24 15:06 芦苇 JAVA将汉字转化成拼音的方法 /** *//** ################################## ...

  2. java字符串转换为拼音_JAVA实现汉字转换为拼音 pinyin4j/JPinyin

    在项目中经常会遇到需求用户输入汉字后转换为拼音的场景,比如说通讯录,就会要求按名字首字符发音排序,如果自己写实现这方面的功能是个很好大的工程,还好网上有公开的第三方jar支持转换,结合网上很多前辈的代 ...

  3. java 汉字转拼音_推荐一款前端汉字转拼音组件工具

    推荐一个前端的汉字转拼音组件 hotoo/pinyin, 支持在 Node 和 Web 浏览器环境运行. github网址:https://github.com/hotoo/pinyin 特性 根据词 ...

  4. java 实现汉字转换拼音_JAVA实现汉字转拼音功能代码实例

    JAVA中汉字转拼音的方法并不复杂,可以使用pinyin4j包来实现. 一.下载pinyin4j的架包,并导入项目中,如下: 如果是maven项目,maven依赖如下: com.belerweb pi ...

  5. java汉字转换拼音,获取汉字串拼音首字母

    首先要下载  pinyin4j  的jar包 import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j ...

  6. java 汉字转拼音原理_java 汉字转拼音

    最近在项目中有需求将汉字转拼音,找到了相关资料,整理如下 /* * @1 版本说明: 2013-07-27 pj add * * @2 函数说明:返回字符串的全拼 */ public static S ...

  7. java 汉字按拼音排序_Java汉字按照拼音排序

    @Test public void testSortPinyin() { Collator cmp = Collator.getInstance(java.util.Locale.CHINA); St ...

  8. java 汉字转拼音_java中将汉字转换成拼音的实现代码

    一:演示:       如在控制台输入:北京欢迎你 打印出来的拼音:bei jing huan ying ni 二:导入要依赖的jar: 三:代码编写 public static String get ...

  9. java 汉字转拼音工具_java汉字转拼音工具类

    public classPinYinUtils {public staticHanyuPinyinOutputFormat PINYIN_FORMAT;static{ PINYIN_FORMAT= n ...

最新文章

  1. 函数项目一个超感人的故事:关于swfupload在某些环境下面session丢失的完美解决方案(看完我哭了)...
  2. 干货 | 神经网络原来这么简单,机器学习入门贴送给你
  3. mysql 主从复制 双主从复制原理   防止主键重复问题(必看)
  4. ftp软件哪个好用_和平精英录屏软件哪个好用 和平精英录屏软件介绍
  5. 抖音微信之争的真相:地盘之争,还是用户隐私之争?
  6. webpack构建Vue项目引入jQ时发生“'$' is defined but never used”的处理
  7. 【Transformer】ViT:An image is worth 16x16: transformers for image recognition at scale
  8. JavaScript Math 对象
  9. 信贷系统学习总结(2)——现金贷之借贷模式与前端产品
  10. onCreate()方法中的参数Bundle savedInstanceState 的意义用法
  11. WINDOWS PHONE死于自己不兼容
  12. 动力电池集成关键技术及电池测试与验证
  13. JS仿iGoogle自定义首页模块拖拽效…
  14. 三菱plc传送文件到服务器,三菱Q系列PLC通过FTP文件传输案例介绍
  15. border(边框)的两种写法
  16. 在 sysservers 中找不到服务器,在 sys.servers 中找不到服务器的解决办法,自己解决的...
  17. 记2021DASCTF没做出来的那些题(已更新官wp版本)
  18. 国际会议查询方式和相关会议
  19. PTA 统计工龄 思路分析及代码解析
  20. 扫描仪和计算机连接的主要操作有两步,win10系统连接扫描仪的操作步骤

热门文章

  1. DFS和BFS求字符串的所有非空子集———Java
  2. Qt中文乱码原因及解决方案
  3. oppor11st升Android p,OPPO R11st刷机教程_OPPO R11st卡刷升级更新官方系统包
  4. webpack5 + webpack-chain 构建一个大型应用系列 2(附 vscode 跟 prettier 配置)
  5. 【转】 机器学习入门——浅谈神经网络
  6. 【工业大数据】大数据时代,计量服务将何去何从?
  7. python绘制饼图
  8. 调试stvd遇到的问题
  9. 爱奇艺视频与腾讯视频竞品分析
  10. IE hasLayout详解