简体字转换繁体字大全,可以将繁体字转换为简体字的软件

一:需求分析

(1)由于公司项目在开发之初没有适配繁体语言,大概是没有考虑到有朝一日项目可以卖到台湾、香港、澳门吧。

(2)但是公司的项目确实卖到澳门了,于是客户要求把项目中的所有字体修改为繁体字,这就苦逼了,公司的项目沉淀了这么多年的代码,感觉到这是一项浩大的工程,但是老大只给了一周的时间要求修改完毕。于是考虑了一下看看这么繁琐的机械化的工作能不能由程序来完成,就各种谷歌百度,试了几种方法,没有成功,于是便手动修改,改了一天,几乎接近崩溃,一天下来累成狗,但是并没有修改多少。于是决定还是看看能不能用程序来搞定,最后整理出来下面的代码,使用Java语言编写,整个项目只用了几分钟就把所有简体字转换成了繁体字。整体思路是 读文件——>修改字体——————>写文件。使用时只需要调用changeFileFromSimpleChineseToTradionalWithRootPath(String path)方法,并传入文件夹名即可。

二:代码示例

package com.java_study;import com.spreada.utils.chinese.ZHConverter;import java.io.*;import java.util.ArrayList;import java.util.regex.Matcher;import java.util.regex.Pattern;/*** Created by dd on 2022/6/8.*/public class ChangeSimpleToTraditional {public static void changeFileFromSimpleChineseToTradionalWithRootPath(String path){ArrayList<String> tempArray = new ArrayList<String>();ArrayList<String> fileList = traverseFolder2(path , tempArray);System.out.println("文件数组" + fileList);if (fileList.size()==0){return;};for (int i = 0; i<fileList.size() ; i++){readOldFileAndWriteNewFileWithFilePath(fileList.get(i));}}public static void readOldFileAndWriteNewFileWithFilePath(String filePath){// 简体转繁体try{BufferedReader bufRead = new BufferedReader(new InputStreamReader(new FileInputStream(new File(filePath))));StringBuffer strBuffer = new StringBuffer();for (String temp = null;(temp = bufRead.readLine())!= null;temp = null ){Pattern pattern = Pattern.compile("[u4e00-u9fcc]+");if (pattern.matcher(temp).find()){temp = getChinese(temp);}strBuffer.append(temp);strBuffer.append(System.getProperty("line.separator"));}System.out.println(strBuffer.toString());bufRead.close();PrintWriter printWriter = new PrintWriter(filePath);printWriter.write(strBuffer.toString().toCharArray());printWriter.flush();printWriter.close();}catch (IOException e){e.printStackTrace();}}

/**把读取的文件的每一行字符串进行正则匹配简体中文

* 并且把匹配到的简体中文替换为繁体

* 并返回替换后的字符串

* paramValue:读文件时候,读取到的每一行字符串*/

public static String getChinese(String paramValue) {String regex = "([u4e00-u9fa5]+)";String replacedStr = paramValue;Matcher matcher = Pattern.compile(regex).matcher(paramValue);while (matcher.find()) {System.out.println("----------"+matcher.group(0));ZHConverter converter2 = ZHConverter.getInstance(ZHConverter.TRADITIONAL);String traditiOnalStr= converter2.convert(matcher.group(0));replacedStr = replacedStr.replace(matcher.group(0),traditionalStr);System.out.println("zyf" + traditionalStr + replacedStr);}return replacedStr;}

/**迭代遍历传入的根文件夹,获取每一级文件夹的每个文件

* 并把文件名称以字符串形式装在数组返回

* path:根文件夹路径

* listFileName:用于返回文件路径的数组,由于这个是迭代方法采用外部传入该数组 */

public static ArrayList<String> traverseFolder2(String path , ArrayList<String> listFileName ) {File file = new File(path);if (file.exists()) {File[] files = file.listFiles();if (files.length == 0) {System.out.println("文件夹是空的!");return null;} else {for (File file2 : files) {if (file2.isDirectory()) {System.out.println("文件夹:" + file2.getAbsolutePath());traverseFolder2(file2.getAbsolutePath(),listFileName);} else {String sbsolutePath = file2.getAbsolutePath();if (sbsolutePath.endsWith(".jsp") || sbsolutePath.endsWith(".js") || sbsolutePath.endsWith(".html") || sbsolutePath.endsWith(".java") ){listFileName.add(file2.getAbsolutePath());}System.out.println("文件:" + file2.getAbsolutePath());}}}} else {System.out.println("文件不存在!");}return listFileName;}}

代码中使用了别人封装好的jar包 ZHConverter,里边封装好了简体字转换成繁体字以及繁体字转换成简体字的方法。

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:dandanxi6@qq.com

(0)
上一篇 2022年 12月 31日 下午12:15
下一篇 2022年 12月 31日 下午12:22

相关推荐

  • 支付宝盛京银行存款有风险吗

    7月11日有网友爆料与支付宝合作的盛京银行提现无法到账,引发储户恐慌,甚至有人到银行门口扯横幅维权。盛京银行与蚂蚁财富先后通过官网和媒体澄清,称一直以来服务时间为07:00-23:…

    2023年 7月 14日
  • 什么是微信星标朋友?如何设置和取消星标朋友呢

    ✨ 你也有微信星标朋友吗? 欢迎您来到帮帮微信使用全都会第16讲:什么是微信星标朋友?如何设置微信星标朋友? 在我们将好友设为星标朋友后,就可以快速的在微信通讯录顶部的【星标朋友】…

    2023年 10月 24日
  • 有一个情侣软件能领钱的是什么

    2019年3月25日,“爱情银行”APP通过官方微博“爱情银行官微”正式发布声明称,应监管部门强制要求,爱情银行APP将关停下架,全面整改。经监管部门检测,“爱情银行”APP社区存…

    互联网 2023年 4月 28日
  • 那些退伍的人后来过得怎么样了

    今年5月份以来 东阳公安接报的电信网络诈骗案件中 杀猪盘诈骗最具杀伤力 具体类型可分为 投资理财型 (炒股票、炒外汇、炒虚拟货币) 网络博彩型 真实案例 今年5月,东阳的刘女士过“…

    2023年 8月 15日
  • 腾讯亲情卡打电话免费吗

    在今年一月底,腾讯王卡正式推出亲情卡,也可以理解为一张有独立号码的副卡。该亲情卡和申请的手机号共用一个话费账户,也就是除了月租之外,其它费用均记在主卡名下。 现在,腾讯王卡的亲情卡…

    2023年 5月 25日
  • 这份公共场所防疫指南请收好(防疫手册和防疫指南一样吗)

    上一期我们为网友们梳理核酸检测排队“必看科普”(管用防疫小知识 ①丨牢记“2条安全线” 核酸检测排队“必看科普”来了),第二期我们关注公共场所。 每一个上班族,可能都会进入办公楼、…

    互联网 2023年 4月 9日
  • 快递多邮了一件衣服可以不退吗

    本报讯(记者 汪长福)一件从杭州寄往厦门的衣服,“百世汇通”快递公司整整派送了17天,还没送到客户手中。 “我的包裹在厦门压了好长时间,就是没有送上门。”住在仙岳路武警指挥中心斜对…

    互联网 2023年 6月 26日
  • 每次电脑打开总是弹出很多广告窗口,怎么解决

    在人们生活中,人们会通过电脑来办公,但是用电脑的办公的时候总会打扰我们的办公,即使关闭弹窗也无用,很是让人讨厌。 这些弹窗广告有一部分是你在安装其他软件的时候,不小心安装的流浪软件…

    2023年 2月 5日
  • 乐视网退市贾跃亭需要承担什么

    曾经为梦想窒息的乐视网,这回真窒息了。 5月14日,乐视网信息技术(北京)股份有限公司(乐视网,300104)公告称,该公司当天收到深圳证券交易所下发的《关于乐视网信息技术(北 京…

    2023年 2月 17日
  • 怎么关闭腾讯会员的自动续费功能

    很多朋友开通腾讯的“会员自动续费功能”后,想要关闭但又不知道该如何操作,本期文章就教大家如何使用电脑关闭腾讯会员的自动续费功能。 首先,使用电脑自带的浏览器打开任意一款搜索引擎,然…

    2023年 3月 16日