2012-2-4 和 2012-2-6 号两天空闲时间
这两天没有继续处理页面,而是编写了一个文件处理工具类。最后还写了一个简单的GUI的实用工具,加入到自己的实用工具箱里。
因为对于项目的国际化问题,每次中文都要用native2ascill工具来转成unicode码,又是命令行操作,很是不方便。便有了自己写个工具类来处理文件中的中文问题的想法。
基本思路很简单
1.给定一个地址,判断否是目录还是文件
2.如果是目录就继续取子目录中的文件
3.如果是文件,则判断文件类型,文件只取.java(后加入了.properties)类型的文件
4.读取文件内容到内存(一般一个文件不过几十到几百K,如果是以M为单位,构架肯定是有问题的了)
5.如果内容中有中文则转换中文为unicode
6.在内存中完成操作,最后再用文件流覆盖原文件
编写中发现了几个麻烦点
1.在内存中对于字符串转换时后的长度和定位,如果只是用String的replace当然是不会很麻烦,但考虑到性能效率,改用了StringBuilder的内部字节转换,当然实现就麻烦点了。
2.要考虑到文件的编码类型
本来工具类已经写完,结果测试时发现了个别文件出现了乱码,仔细分析后发现,那些properties是以gbk为编码的,而我本机默认是utf8,导致乱码,对于乱码可以有多种方式解决,可以用文件的前三个字节来判断出文件编码,但不是很准,所以我还是采用了固定编码。也就是想要转换的文件必须是以utf8编码的,不然转换后乱码就后果自负。
下班了,明天继续写出我的代码实现。
我已经写了一个GUI的工具,贴图留念。明天继续
- 大小: 24.1 KB
- 大小: 45 KB
- 大小: 68.5 KB
- 大小: 90.3 KB
分享到:
相关推荐
NULL 博文链接:https://thoughtfly.iteye.com/blog/1396416
不需要关心接受的字符串编码是UTF_8还是GBK,还是ios-8859-1,自动转换为utf-8编码格式,无需判断字符串原有编码,用法://处理编码String newStr = GetEncode.transcode(oldStr);
java2python--java代码转python工具
班级回忆录-班级回忆录系统-班级回忆录系统源码-班级回忆录管理系统-班级回忆录管理系统java代码-班级回忆录系统设计与实现-基于springboot的班级回忆录系统-基于Web的班级回忆录系统设计与实现-班级回忆录网站-班级...
基于java的开发源码-转C++代码工具 J2C.zip 基于java的开发源码-转C++代码工具 J2C.zip 基于java的开发源码-转C++代码工具 J2C.zip 基于java的开发源码-转C++代码工具 J2C.zip 基于java的开发源码-转C++代码工具 J2C...
笔记记录分享-笔记记录分享网站-笔记记录分享网站源码-笔记记录分享网站java代码-笔记记录分享网站设计与实现-基于springboot的笔记记录分享网站-基于Web的笔记记录分享网站设计与实现-笔记记录分享项目-笔记记录...
笔记记录分享-笔记记录分享网站-笔记记录分享网站源码-笔记记录分享网站java代码-笔记记录分享网站设计与实现-基于springboot的笔记记录分享网站-基于Web的笔记记录分享网站设计与实现-笔记记录分享项目-笔记记录...
编程训练-编程训练系统-编程训练系统源码-编程训练管理系统-编程训练管理系统java代码-编程训练系统设计与实现-基于springboot的编程训练系统-基于Web的编程训练系统设计与实现-编程训练网站-编程训练网站代码-编程...
班级回忆录-班级回忆录系统-班级回忆录系统源码-班级回忆录管理系统-班级回忆录管理系统java代码-班级回忆录系统设计与实现-基于springboot的班级回忆录系统-基于Web的班级回忆录系统设计与实现-班级回忆录网站-班级...
java代码-java数学计算工具类源代码合集 ——学习参考资料:仅用于个人学习使用!
java日常处理工具类part1-代码
下载后,请熟悉doc里面的quick start,然后把yGuard.jar放到和build.xml同一个位置
java代码-java字符串工具类源代码合集 ——学习参考资料:仅用于个人学习使用!
Java校验身份证号码工具类 ---运行几年了,很靠谱。包含15位身份证校验Java校验身份证号码工具类 ---运行几年了,很靠谱。包含15位身份证校验
基于java的开发源码-Hutool (Java基础工具类).zip 基于java的开发源码-Hutool (Java基础工具类).zip 基于java的开发源码-Hutool (Java基础工具类).zip 基于java的开发源码-Hutool (Java基础工具类).zip 基于java的...