Open Chinese Convert(OpenCC)是一个开源的中文简繁转换项目,致力于制作高质量的基于统计预料的简繁转换词库。还提供函数库(libopencc)、命令行简繁转换工具、人工校对工具、词典生成程序、在线转换服务及图形用户界面。

opencc的特点:

  • 严格区分「一简对多繁」、「一简对多异」和「地域用词差别」。

  • 支持异体字转换,兼容陆港澳台等不同地区用字差别。

  • 严格审校一简对多繁词条,原则为「能分则不合」,用户可自定义合并。

  • 支持中国大陆、台湾、香港异体字和地区习惯用词转换,如「裏」「裡」、「鼠標」「滑鼠」。

  • 词库和函数库完全分离,可以自由修改、导入、扩展。

  • 支持C、C++、Python、PHP、Java、Ruby、Node.js and Android等多种语言API,提供命令行直接调用,以及图形界面。

  • 兼容Windows、Linux、Mac等多种平台。

项目使用java编写,官网说支持java语言,但是没有找到java的api,所以使用曲折的方式实现:linux下安装opencc,编写shell脚本,然后使用java调用shell脚本来进行简繁转换。

opencc安装请点击 ubuntu安装opencc,简体转繁体

opencc安装后编写shell脚本

#!/bin/sh
#echo $1
echo $1 |opencc -c s2tw

测试:

ubuntu@ubuntu-vm:/usr/local$ ./s2tw.sh 微儿博客www.weare.net.cn
微兒博客www.weare.net.cn

java调用shell

public static Object sc2tw(String content){try {StringBuffer sb = new StringBuffer("");Process ps = Runtime.getRuntime().exec("/usr/local/s2tw.sh \""+content+"\"");BufferedReader in = new BufferedReader(new InputStreamReader(ps.getInputStream()));String line = null;ps.waitFor();while((line = in.readLine())!=null){sb.append(line);}in.close();if(sb.indexOf("\"")==0){sb = sb.deleteCharAt(0);}if(sb.lastIndexOf("\"")==sb.length()-1){sb = sb.deleteCharAt(sb.length()-1);}ps.destroy();line = null;return sb;} catch (IOException e) {logger.error("shell执行出错");} catch (InterruptedException e) {logger.error("shell执行出错");}return content;
}

但是具体执行过程中发现java程序运行一段时间后会卡死,经过排查发现当shell脚本传入的参数特别大时,java会一直等待shell脚本执行完成,所以对于长度特别长的文本采用分段转换

public static String simple2tw(String content){StringBuffer cs = new StringBuffer("");int length = content.length();int count = length/words;int ys = length%words;if (count==0) {cs.append(sc2tw(content));}else{for(int i=0;i<count;i++){cs.append(sc2tw(content.substring(i*words, (i+1)*words)));length = (i+1)*words;}if(ys>0){cs.append(sc2tw(content.substring(length)));}}return cs.toString();
}

更多内容请访问 微儿博客

java调用opencc将中文简体繁体转换相关推荐

  1. 中文简体繁体之间的转换

    中文简体繁体之间的转换 2007 年 09 月 13 日 星期四 10:58 对网页进行简繁字体转换的方法一般有两种:一是使用<简繁通>这样的专业软件,另外一种是制作两套版本的网页.显然, ...

  2. java 简体繁体转换

    简体繁体转换网上有开源jar包:ZHConverter 此处做个mark //繁体转简体ZHConverter zhConverter1 = ZHConverter.getInstance(ZHCon ...

  3. 简体繁体转换功能php,php如何实现简体繁体转换-PHP问题

    思绪: 依据中文简体.繁体对应的数据表,将其整顿成一个以简体字为键,繁体字为值的一个一维数组,相似上面这样的一个数组构造: $data=array('侧'=>'側','厂'=>'廠'); ...

  4. 2013.08.08——— android 中文简繁体转换

    2013.08.08--- android 中文简繁体转换 参考:[url]http://www.pupuliao.info/2012/09/java%E7%9A%84utf-8-%E7%B9%81% ...

  5. js简体繁体转换代码

    js简体繁体转换代码 javascript简体繁体转换代码 转载地址:http://www.cnblogs.com/genson/archive/2008/04/16/1004632.html js简 ...

  6. VB.net下有个函数strconv可以进行简体繁体转换(转载)

    http://msdn.microsoft.com/zh-cn/library/cd7w43ec.aspx 有个简单的方法,VB.net下有个函数strconv可以进行简体繁体转换,添加引用Micro ...

  7. .NET中的中文简繁体转换

    .NET中的中文简繁体转换 http://www.cnblogs.com/shinewaycn/archive/2005/07/04/186251.aspx 导入名字空间Microsoft.Visua ...

  8. 免费在线汉字简体繁体转换工具

    简体字和繁体字相互转换,很实用的! 进入这里一键转换:简体繁体转换

  9. 汉字简体繁体转换----Javascript

    最近看到有个简体--繁体字互相转换的程序,是用JS实现的,感觉很好玩,所以拿来研究研究.先看看界面如下: 汉字简体繁体转换 上面的所有代码如下: <script> function cop ...

  10. JavaScript看图器 汉字简体繁体转换 中国日历类 自动更换桌面墙纸

      抢24的扑克游戏   自动更换桌面墙纸   中国日历类   汉字简体繁体转换   JavaScript看图器   无缝MARQUEE   包含图片的option下拉菜单   微软JS脚本的加密与解 ...

最新文章

  1. 2021年大数据Flink(五):Standalone-HA高可用集群模式
  2. 操作系统储存管理功能
  3. 通过容器编排和服务网格来改进Java微服务的可测性
  4. Centos7环境安装Kibana5.2.2
  5. Java实训项目:GUI学生信息管理系统(2017)
  6. 初步接触XCode和IPhone Simulator
  7. 关于Android发送邮件
  8. 微信小程序图片转换成文字_涨知识!这个微信小程序,能将纸上文字转换成电子版...
  9. [NOI题库]1.3编程基础之算术表达式与顺序执行 题解(一)
  10. 架构师到底该不该写代码?
  11. CAD卸载/完美解决安装失败/如何彻底卸载清除干净cad各种残留注册表和文件的方法
  12. 黑金开发板液晶显示图片
  13. Registration based Few-Shot Anomaly Detection
  14. 联合国首席AI顾问专访:我们期望AI应该是完美的,但这永远不会
  15. java是怎么分配内存和释放内存的-详解
  16. clang diagnostic的简单介绍
  17. mybatis 连表查询,子查询 collection,返回 vo
  18. 【微信公众号开发】微信支付-退款通知
  19. DJL-Java开发者动手学深度学习之线性回归
  20. 电子签名工具 SignatureTool

热门文章

  1. [POI2012] 约会 Rendezvous
  2. 新西兰皇后镇-我眼中的西施
  3. 计算机开机响三短嘀嘀,电脑显示器不亮,开机2短3长报警音什么情况啊?:电脑...
  4. android前置录像,Android Camera2video使用前置摄像头(Android Camera2video use front camera)
  5. 使用Windows Sysprep来封装系统
  6. Unreal Engine 4学习资料整理
  7. 昆山花桥房都要上万 上海买家占9成“江山”
  8. 12个开源的后台端管理系统
  9. 学考计算机会考考点工作总结,高中生学业水平考试工作总结范文
  10. DSP TMS320C6455 中断解析