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

一:需求分析

(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

相关推荐

  • 开通这个会员,可以免费兑换火车票吗

    嗨,听说 在铁路12306上 可以免费兑换火车票 这是啥情况 原来 注册“铁路畅行”常旅客会员 坐火车享受积分累积 达到一定积分 就可以兑换火车票啦 快来跟着小编一起看看吧 如何成…

    2023年 7月 4日
  • 分享百家号大鱼号趣头条运营干货

    我是一个自媒体新手,处于对自媒体平台的摸索阶段,尝试体验了1-3个月。 选择这五大自媒体来做分享,是因为它们有个共同特点:都开通了收益,即使微乎其微。相信这也是许多新手关心的问题。…

    2023年 3月 5日
  • 植物大战僵尸2时空之旅电脑游戏

    植物大战僵尸2时空环游之旅TAT版是江南游戏社与玩窝头网络工作室合作制作的一款“植物大战僵尸”游戏模组;英文名为Plants vs. Zombies 2: Travel aroun…

    2023年 9月 10日
  • 192.168.1.1路由器设置不被蹭网

    很多人肯定碰到过路由器被别人给“蹭”了,带宽被大量占用影响了自己正常上网。现在家中联网的设备越来越多,智能手机、平板电脑、笔记本电脑、智能电视、游戏主机……还有许多智能家居设备也需…

    2023年 4月 28日
  • 制作情侣头像简单

    首先点开QQ的系统设置里面的资料设置,可看到在个性签名下方有个图标管理,如果图标管理中把您的业务隐藏了,您可以点取消隐藏而恢复,这样就可以看到!如果还看不到,那么您可以点开系统设置…

    2023年 2月 8日
  • 腾讯公司如何保护qq隐私,腾讯qq怎么保护隐私

    日前,QQ上线隐私保护指引,公开了详细权限使用规则,包括相机、联系人、健康、地理位置、麦克风、相册与提醒等方面。目前,iOS与安卓用户均可通过设置-关于QQ与帮助-隐私保护指引查看…

    2022年 12月 22日
  • 游戏账号被骗可以退款吗

    游戏账号交易对网络游戏玩家来说早已不是新鲜事,许多玩家为了一个心仪账号,不惜一掷千金,但当购买的游戏账号被找回导致自己无法使用时,买家该如何维权?一起看看下面的案例吧~ (图文无关…

    2023年 9月 18日
  • 电商技术解密之取消订单,电商平台随意取消订单怎么惩罚

    在网购的流程中,大家一般接触的比较多的都是正向流程,即下单的流程:浏览商详、加入购物车、提交订单、确认收货等。但是系统设计的时候往往会发现逆向流程比较正向流程更加的复杂,大家经常接…

    2023年 3月 8日
  • 支付宝申请信用卡流程和技巧

    一般来说用支付宝申请的信用卡回复比较快,当天晚上通过支付宝申请的信用卡,第二天下午就收到短信说申请成功。 大家都知道支付宝可以线上申请信用卡,但不知道大家知不知道芝麻信用分是帮助大…

    2023年 2月 10日
  • 三种excel函数应用,excel70个高频函数应用

    本期利用Excel如此强大的工具做一些稀奇古怪的事情。。◕ᴗ◕。以此说明几个Excel函数的应用。 一、相对微信,QQ比较复杂一些。现在貌似QQ的使用率下降了不少。QQ等级由用户的…

    2023年 6月 23日