`
wanglihu
  • 浏览: 919284 次
  • 性别: Icon_minigender_1
  • 来自: 黑龙江
社区版块
存档分类

使用PinYin4j.jar将汉字转换为拼音使用实例

    博客分类:
  • java
阅读更多
package com.wlh.lucene.test2;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

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.HanyuPinyinVCharType;

public class Test { 
	//源文件与目标文件的全路径名
	private static final String READ_FILE="E:/workspace65/paoding-analysis_test/src/com/wlh/lucene/test2/txt.txt";
	private static final String WRITE_FILE="E:/workspace65/paoding-analysis_test/src/com/wlh/lucene/test2/txt1.txt";
	private static HanyuPinyinOutputFormat spellFormat = new HanyuPinyinOutputFormat();  
	private static BufferedWriter writer = null;
	private static BufferedReader reader = null;
	//初始化信息
	public static void init() throws IOException{
		writer = new BufferedWriter(new FileWriter(new File(WRITE_FILE),false));
		reader = new BufferedReader(new FileReader(new File(READ_FILE)));  
		spellFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);  
		spellFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);  
		spellFormat.setVCharType(HanyuPinyinVCharType.WITH_V); 
	}
    // 判断字符串是否包含有中文 
    public static boolean isChinese(String str) {  
        String regex = "[\\u4e00-\\u9fa5]";  
        Pattern pattern = Pattern.compile(regex);  
        Matcher matcher = pattern.matcher(str);  
        return matcher.find();  
    }  
	//使用PinYin4j.jar将汉字转换为拼音
	public static String chineneToSpell(String chineseStr){
		return PinyinHelper.toHanyuPinyinString(chineseStr , spellFormat ,"");
	}
	//将转换后的字符串写入目标文件
	public static void writeToFile(String spellStr) throws IOException{
		writer.write(spellStr);
	}
	//从源文件读取按行数据
	public static void readFromFile() throws IOException{
		String line = null;
		 while ((line = reader.readLine()) != null) {  
             line = line.trim();  
             //是中文
             if(isChinese(line)){
            	 line = chineneToSpell(line);
             }
             writeToFile(line + "\n");
         }  
	}
	//关闭文件流
	public static void destory() throws IOException{
		reader.close();
		writer.close();
	}
	public static void main(String[] args) throws IOException {
		init();
		readFromFile();
		destory();
	}
}
分享到:
评论
1 楼 pop1030123 2013-09-22  
没发现转不了吗?汉字还是汉字

相关推荐

    pinyin4j版本为2.5.0

    对于非汉字字符集的系统来说,中文字符的处理尤为复杂,这就催生了将中文转换为拼音的需求。在Java开发环境中,有一个非常实用的库——pinyin4j,它能够帮助我们高效地实现这个功能。本文将深入探讨pinyin4j 2.5.0...

    pinyin4j-2.5.0.jar

    - **汉字转拼音**:pinyin4j能够将汉字转换为拼音,支持全拼和简拼,包括声母、韵母、声调等详细信息。 - **多音字处理**:对于有多个读音的汉字,pinyin4j可以返回所有可能的读音。 - **拼音格式化**:用户可以...

    pinyin4j jar包 相关实例 混排实例

    本文将深入探讨pinyin4j jar包的使用,包括它的最新特性,以及在实际项目中的应用实例,特别是中文和拼音的混排实例。 首先,pinyin4j是一个开源的Java库,主要功能是将汉字转换为汉语拼音,支持声调标注和多种拼音...

    Pinyin4j包及使用实例

    以下是一个简单的使用示例,展示了如何利用Pinyin4j将汉字转换为拼音: ```java import net.sourceforge.pinyin4j.PinyinHelper; import ...

    中文转拼音:pinyin4j-2.5.0包及实例

    `pinyin4j`是一个强大的Java库,专门用于将汉字转换为对应的汉语拼音。这个`pinyin4j-2.5.0`包提供了全面的API,使得开发人员可以方便地在Java应用程序中实现这一功能。 `pinyin4j`库由Barry DeZeng开发,它的主要...

    pinyin4j_jar包和实例及文档

    pinyin4j库主要提供了两个核心功能:一是将汉字转换为全拼音,二是提取每个汉字的首字母。这些功能在许多实际场景中都大有裨益,例如实现基于拼音的汉字排序、快速搜索、关键词匹配等。 首先,我们来看如何将汉字...

    pinyin4j汉字转拼音.zip

    总的来说,"pinyin4j汉字转拼音.zip"这个项目为我们提供了一个使用pinyin4j进行汉字转拼音的实例。通过分析HanziToPinyinTest,我们可以学习如何在实际开发中集成和运用这个库。对于那些需要处理汉字拼音的Android...

    pinyin4j(解决多音字问题源码)

    它提供了API接口,可以方便地将汉字转化为对应的拼音,这对于开发中文输入法、搜索引擎、文本分析等应用来说,是不可或缺的工具。 然而,需要注意的是,pinyin4j的词库并不完整,这意味着它可能无法覆盖所有汉字的...

    pinyin4jJar包及java实例

    pinyin4j是一个开源的Java库,由Barry De Zaaf创建,主要功能是提供API,将汉字转换为汉语拼音,包括全拼和首字母缩写。这个库广泛应用于需要处理汉字拼音的场景,如搜索引擎优化、中文数据处理、自动文本校对等。 ...

    pinyin4jUtils.zip

    通常,使用Pinyin4j的方式是通过Maven或Gradle等构建工具添加依赖,或者手动将jar文件添加到项目的类路径中。 另一个文件"javaUtils.txt"可能包含了与Pinyin4j库相关的Java工具类。这些工具类可能封装了一些常见...

    elasticsearch-analysis-pinyin-7.1.0.zip

    "elasticsearch-analysis-pinyin-7.1.0.zip" 是一个针对Elasticsearch的拼音分析器插件,它将中文字符转换为拼音,便于进行基于拼音的搜索。 这个插件的核心功能是将中文文本转换为拼音表示,这样在进行关键词匹配...

    利用pinyin.jar做的联系人索引

    pinyin4j是一个Java库,它能够将汉字转换为汉语拼音,这对于处理中文数据尤其有用。在没有汉字字符集排序规则的情况下,我们不能直接按照汉字的顺序对中文字符串进行排序。pinyin4j通过提供汉字到拼音的映射,解决了...

    elasticsearch-analysis-pinyin-7.2.1.zip

    2. **elasticsearch-analysis-pinyin-7.2.1.jar**:这是Pinyin分析器的核心组件,实现了将中文字符转换为拼音的功能。Elasticsearch的分析器插件通常以这样的jar包形式提供,以便在Elasticsearch实例中加载并使用。...

    elasticsearch-analysis-pinyin-7.1.1.zip

    在实际应用中,Elasticsearch的拼音分析器能将中文文本转换为对应的拼音,这样在搜索时,即使用户输入的是汉字,系统也能根据拼音匹配到相应的文档。例如,如果一个文档包含“北京”这个词,而用户搜索“bei jing”...

    es-analysis-ik+pinyin-7.6.2.rar

    Pinyin分析器则是处理中文字符转化为拼音的工具,它能将汉字转换成拼音,使得用户可以通过输入拼音进行搜索,极大地扩大了搜索的范围。在7.6.2版本中,Pinyin分析器可以处理多音字,同时支持保留原始汉字,便于在...

    elasticsearch-analysis-pinyin-7.17.5.zip

    首先,elasticsearch-analysis-pinyin是一款针对Elasticsearch设计的中文分词插件,它通过将汉字转换为拼音,实现了对中文文本的索引和搜索功能。在标题中的"elasticsearch-analysis-pinyin-7.17.5.zip",表明这是一...

    elasticsearch-analysis-pinyin-7.2.0.zip

    总的来说,`elasticsearch-analysis-pinyin`插件是Elasticsearch处理中文数据的关键工具,它通过将中文转换为拼音,实现了基于拼音的全文检索,极大地拓展了Elasticsearch在中国市场的应用范围。如果你在处理中文...

    elasticsearch6.8.3拼音分词插件

    "elasticsearch-analysis-pinyin-6.8.3.jar" 是这个拼音分词插件的核心文件,它提供了将中文字符转换为拼音的能力,使得用户可以通过输入汉字的拼音进行搜索,极大地扩展了Elasticsearch的搜索范围。此外,"nlp-lang...

    PinYin.zip

    3. **转换拼音**:对于每个中文姓名,使用pinyin4j库转换为拼音。 4. **处理结果**:将转换后的拼音保存到一个新的单元格或创建新的数据结构中。 5. **写回Excel**:最后,使用POI将处理后的数据写回到Excel文件中,...

    Android 汉字转拼音总结

    在Android开发中,有时我们需要将汉字转换为对应的拼音,这在实现诸如搜索、排序或语音输入等功能时非常有用。这个主题主要围绕Java在Android环境下的汉字转拼音技术进行阐述。 一、拼音转换基础 1. 汉字与拼音的...

Global site tag (gtag.js) - Google Analytics