`

开发自己的jar包 pinyin4j

    博客分类:
  • Java
阅读更多
今天开发了自己的第二个开源工具 jar包
名称:pinyin4j.jar
功能: 将汉语拼音转换为汉语拼音

算法:
从对应的资源文件中(文件中包含了常用汉字的unicode编码-拼音)
文件格式如下:
3007 (ling2)
4E00 (yi1)
4E01 (ding1,zheng1)
4E02 (kao3)
4E03 (qi1)
4E04 (shang4,shang3)
.
.
.
用数据流的方式读取 然后将unicode码以key,pinyin为value存入一个HashMap中

接口:
    传入:汉语拼音的字符串
    返回:拼音的字符串数组(即每个汉语拼音对应相应的拼音)


源码:
package com.anduo.pinyin4j;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.HashMap;

public class PinYinHelper {
	private static HashMap<String, String> hashMap = new HashMap<String, String>();

	/**
	 * 将unicode-to-hanyu-pinyin.txt文件 以unicode为key pinyin为value 加到hashmap中
	 */
	private static void myReader() {
		InputStream is = PinYinHelper.class.getClass().getResourceAsStream(
				"/resource/unicode_to_hanyu_pinyin.txt");
		BufferedReader breader = new BufferedReader(new InputStreamReader(is));
		String s;
		String unicode;
		String pinyin;
		try {
			while ((s = breader.readLine()) != null) {
				// 提取文件流每行中的unicode码以及 pinyin字符串
				unicode = s.substring(0, 4);
				pinyin = s.substring(6, s.length() - 1);
				hashMap.put(unicode.toLowerCase(), pinyin);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	/**
	 * 将汉语转换为汉语拼音
	 * 
	 * @param value
	 * @return pinyin[]
	 */
	public static String[] toHanYuPinYin(String value) {

		myReader();

		String[] result = new String[value.length()];
		String unicode;
		String pinyin;
		for (int i = 0; i < value.length(); i++) {
			Character c = value.charAt(i);
			unicode = Integer.toHexString(c);// 得到汉字的unicode编码
			pinyin = hashMap.get(unicode);// 从hashMap中找到汉子的拼音
			result[i] = pinyin;
		}

		return result;
	}
}



然后导出为jar包

测试一下:
新建一个java工程,然后将刚做好的jar包导入的工程中
新建一个test类
package com.anduo;

import com.anduo.pinyin4j.PinYinHelper;

public class test {
	public static void main(String[] args) {

		String s[] = PinYinHelper.toHanYuPinYin("大但是关键的是概多少了攻击多少");
		for (String string : s) {
			System.out.println(string);
		}

	}
}



测试效果:
da4,dai4
dan4
shi4
guan1
jian4
de5,di4,di2
shi4
gai4
duo1
shao3,shao4
le5,liao3,liao4
gong1
ji1
duo1
shao3,shao4


遇到的问题,在导出jar包的时候出了很多错误
主要问题出在: 如何读取jar包中的资源文件 这个可以参考我收藏的一篇文章
分享到:
评论

相关推荐

    pinyin4j jar包

    使用pinyin4j库非常简单,只需在项目中引入jar包,然后通过其提供的API即可进行拼音处理。例如,以下代码演示了如何将汉字转化为拼音: ```java import net.sourceforge.pinyin4j.PinyinHelper; public class ...

    汉语转换成拼音的jar包pinyin4j-2.5.0版本

    1. **添加依赖**:如果你的项目是基于Maven构建的,你可以将`pinyin4j-2.5.0.jar`放入本地Maven仓库,并在`pom.xml`文件中添加相应的依赖。这样,其他模块就可以通过Maven自动管理`pinyin4j`的导入。 ```xml ...

    pinyin4j所需jar包

    其最新版本为2.5.0,该版本的主jar包即为“pinyin4j-2.5.0.jar”。这个库不仅提供了基本的汉字转拼音功能,还支持声调、多音字处理等复杂情况,使得开发者能够更加灵活地处理中文字符。 在pinyin4j库中,`PinYin4...

    pinyin4j.zip pinyin4j.jar

    首先,你需要将提供的`pinyin4j.jar`文件引入到你的项目类路径中。然后,你可以通过`net.sourceforge.pinyin4j.PinyinHelper`类来调用各种转换方法。例如,使用`toHanyuPinyinStringArray(char[])`可以将字符数组...

    pinyin4j最新jar包,汉字转pinyin必备

    pinyin4j的最新jar包提供了高效且准确的汉字转拼音功能,是开发者们进行汉字处理时的得力助手。 pinyin4j的核心功能在于,它可以将单个汉字或字符串中的所有汉字转换为其对应的汉语拼音。例如,“中国”会被转换为...

    pinyin4j-2.5.0.jar 下载 java汉字转拼音 jar包 附带超级简单小dome

    本文将详细介绍pinyin4j-2.5.0.jar这个jar包以及如何使用它来实现汉字转拼音的功能。 pinyin4j是一个开源的Java库,由Barry de Graaff创建,它的主要功能是提供汉字到拼音的转换服务。在pinyin4j-2.5.0.jar这个版本...

    pinyin4j-2.5.0的jar包、源码、说明文档.zip

    《深入理解pinyin4j-2.5.0:jar包、源码与说明文档解析》 在Java编程中,处理汉字转化为拼音的任务是常见需求,pinyin4j作为一个强大的开源库,为开发者提供了便捷的解决方案。本文将围绕pinyin4j-2.5.0的jar包、...

    将简体中文和繁体中文转换拼音的jar包 pinyin4j-2.5.0.jar

    要在项目中使用pinyin4j,首先需要将`pinyin4j-2.5.0.jar`文件添加到项目的类路径中。对于Maven用户,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;com.belerweb&lt;/groupId&gt; &lt;artifactId&gt;pinyin4j ...

    pinyin4j-2.5.0.jar下载

    《pinyin4j-2.5.0.jar:Java与Kotlin中的拼音处理库》 在Java和Kotlin编程中,处理汉字转拼音的需求时有发生,比如在搜索引擎的关键词提取、文本排序或中文输入法的实现等场景。为此,开发者们常常需要借助一些专门...

    pinyin4j 开发jar包

    1. 引入库:首先,需要在项目中引入pinyin4j的JAR包,可以通过Maven或Gradle等构建工具添加依赖,或者直接下载JAR文件添加到项目的类路径中。 2. 导入类:使用pinyin4j需要导入以下核心类: ```java import ...

    pinyin4j-2.5.1.jar

    《关于pinyin4j-2.5.1.jar与Java拼音处理库的解析与应用》 在Java开发中,处理中文字符转化为拼音是一项常见的任务,这时我们常常会使用到pinyin4j这个开源库。然而,如果在项目中遇到"The import ...

    pinyin4j-2.5.0.jar+使用说明+使用代码

    本文将详细探讨pinyin4j-2.5.0.jar这个Java汉字转拼音的jar包,包括其核心功能、使用方法以及实际应用中的示例代码。 一、pinyin4j概述 pinyin4j是一个轻量级的Java库,它提供了高效且灵活的汉字转拼音功能。该库...

    中文转拼音工具类,pinyin4j-2.5.0.jar 适用于地址人名

    在实际开发中,pinyin4j-2.5.0.jar常被用于搜索引擎的构建,通过拼音转换提升搜索的覆盖率和准确性。在地址处理上,它可以将地名标准化,便于地理位置的匹配和索引。而在人名处理上,pinyin4j则有助于实现基于拼音的...

    pinyin4j jar包 附带 例子

    pinyin4j是2.5.0版本的jar包,它包含了一个已经封装好的类,可以直接对汉字进行拼音转换,无论是全拼还是首字母,都可以轻松实现。虽然作者自谦地表示封装类写得一般,但它的实用性和易用性仍然值得我们肯定。对于...

    pinyin4j工具类和jar包

    Pinyin4j的基本用法 1. 简单介绍 有时候,需要将汉字编程对应的拼音,以方便数据的处理。比如在Android手机应用的开发上,要查询联系人的姓名,通常都是用拼音进行查询的。比如要查询“曹孟德”,就可以输入“cmd”...

    pinyin4j-2.5.0.jar

    pinyin4j-2.5.0.jar正是这样一个专门用于Java环境下实现汉字转拼音功能的库,它为开发者提供了便捷的API,大大简化了开发过程。 pinyin4j是Java平台上的开源库,由Barry DeZeng开发,其主要功能是将汉字转换为汉语...

Global site tag (gtag.js) - Google Analytics