掺杂Unicode编码的文件中,将Unicode转为中文【java实现】

项目中遇到文件存在Unicode编码的中文,需要批量转换回中文。通过逐行读取文件,检测到`u`开头的Unicode编码,解析并替换为对应的中文字符。代码实现包括文件IO操作和Unicode到中文的转换。注意处理过程中需关注文件编码格式,文中参考了其他博主的解决方案。
摘要由CSDN通过智能技术生成

 


背景


一个小项目 10多个java文件 因为一些原因  只要是中文的地方 都是中文转为Unicode后的显示 

需要把文件中,所有的Unicode都转为中文 ,非Unicode的地方不做改动


一、基本思路

Unicode编码的格式为:\uxxxx(4个x),因此可以遍历所有的文件,每个文件一行行读,读到“\u”就继续往后读4位再单独取出来,进行Unicode转中文的操作,逻辑上再把中文替换进原来是Unicode的地方

具体实现思路请看代码中的注释部分

这个思路大致可以分为两个部分:

①读文件和写文件操作(IO)

②Unicode和中文的转换

二、代码实现

public class ReadFile {

    /*
     *原理:
     *给定一个目录(该文件目录下不存在子目录,如果存在子目录请递归实现),读取该目录下的所有文件。
     *每一个文件【逐行】读取内容,一边读取一边同时写一个*.tmp的文件。
     *读一行写一行。
     *当读取的行中发现有Unicode编码时,把该行的Unicode编码转为中文,得到新的、不带Unicode编码的新“行”,然后把新“行”写入*.tmp文件
     *不带Unicode编
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值