背景
一个小项目 10多个java文件 因为一些原因 只要是中文的地方 都是中文转为Unicode后的显示
需要把文件中,所有的Unicode都转为中文 ,非Unicode的地方不做改动
一、基本思路
Unicode编码的格式为:\uxxxx(4个x),因此可以遍历所有的文件,每个文件一行行读,读到“\u”就继续往后读4位再单独取出来,进行Unicode转中文的操作,逻辑上再把中文替换进原来是Unicode的地方
具体实现思路请看代码中的注释部分
这个思路大致可以分为两个部分:
①读文件和写文件操作(IO)
②Unicode和中文的转换
二、代码实现
public class ReadFile {
/*
*原理:
*给定一个目录(该文件目录下不存在子目录,如果存在子目录请递归实现),读取该目录下的所有文件。
*每一个文件【逐行】读取内容,一边读取一边同时写一个*.tmp的文件。
*读一行写一行。
*当读取的行中发现有Unicode编码时,把该行的Unicode编码转为中文,得到新的、不带Unicode编码的新“行”,然后把新“行”写入*.tmp文件
*不带Unicode编