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

一:需求分析

(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

相关推荐

  • 微信好友太多,怎么看出对方删除了你

    微信好友太多,分不清谁把你拉黑删除了,2分钟教会你 在当今社交网络的时代,微信已经成为了人们日常交流和分享生活的重要平台。随着社交圈的扩大,我们的微信好友数量也逐渐增加,但是在众多…

    2023年 9月 9日
  • 郑爽回归微博:「我会为自己发声」追骗子讨钱…2天后新帐号遭封

    女星郑爽因美国代孕生子,加上逃漏税被列为劣迹艺人,原本开设的微博、工作室微博帐号皆遭到封号,转投IG发声。她近日透露在微博有个新帐号,强调「坚持自己的维权」,不料14日网友发现该帐…

    2023年 7月 3日
  • 照片定位功能在哪华为(华为云端照片怎么找不到)

    图库和备忘录作为常用工具,随时拍照、随手记录已经成为我们的生活习惯,然而一张张照片、一条条笔记在需要的时候总是得翻找查看,找了很久还不一定找得到,十分麻烦。今天给大家推荐一个查找小…

    2023年 2月 4日
  • qq那些年的记忆,qq最新更新自定义状态新玩法

    “你有多久没有登录QQ了?”哔哥突然对我说,一时间我也忘了QQ多久没有登录,只记得自从工作之后,身边所接触的人基本都是用微信,从那会儿起,微信成为了我日常使用的社交工具。 现在想来…

    2023年 7月 7日
  • 网上申请的手机卡怎么查询快递(网上申请的流量卡在哪看物流)

    在你们网站上已经申请了流量卡了,不知道发什么快递呢?这是近日很多朋友咨询过小编的一个问题了,关于快递的问题也是大家比较关注的,今天,小编给大家详细地介绍一下这个问题哦。 一般三大运…

    2023年 7月 19日
  • 优酷腾讯爱奇艺后转码的软件

    六一孩子们的快乐静好,是有老师课余的多少辛勤付出!一年一度孩子期盼的六一儿童节快到了,好多老师为给孩子们排练舞蹈,好不容易在网上找到相关视频,可是下载了却不能用,之前常用的格式工厂…

    2023年 5月 18日
  • 京东白条怎么使用优惠券

    第一、在京东商城选择想要购买的商品,加入购物车 京东白条主要是在京东体系内的线上商城使用,在京东体系内的线上平台购买商品时可以使用京东白条来进行支付。 京东白条使用比较多的地方就是…

    2023年 3月 22日
  • 搜索营销不花钱如何获取搜索流量

    对于电商商家来说,流量是店铺的根本。没有流量更不要谈转化率。 01 如何获取流量呢?各平台玩法不同,但核心无非就是流量=站内流量+站外流量,然后通过这个公式无限拆解流量来源,最终找…

    2023年 4月 11日
  • 几分钟快速简单的了解公众号开发

    今天来给大家分享一个成都app开发-微信小程序开发-华尚科技APP定制开发外包公司微信公众号的制作方法,这个方式简单易用,成本也不高。 首先我们先要把微信公众号进行后台的开发,方式…

    2023年 4月 12日
  • 24小时无人直播带货是怎么做的

    2023年无人直播还能不能做?为什么我用就被封,我知道他也在用,为什么他不会被封?已经做的很细节了,为什么还会被提醒?是不是有什么黑科技我还不知道? 在拆解之前,我先问问大家有没有…

    2023年 6月 18日