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
分享到:
相关推荐
在"java练手全程录4-处理工具类代码实现"这个主题中,我们可能涉及到的是如何设计和实现一个高效的工具类,以提高代码复用性和模块化。 首先,我们要明白工具类的一般设计原则。一个优秀的工具类应该具有以下特点:...
JavaUtils工具类是Java开发中常见的一类代码资源,它们提供了许多便利的静态方法,用于简化常见的编程任务。在这个压缩包文件"javaUtils"中,我们可以期待找到一系列实用的工具类,比如正则表达式处理工具和Base64...
不需要关心接受的字符串编码是UTF_8还是GBK,还是ios-8859-1,自动转换为utf-8编码格式,无需判断字符串原有编码,用法://处理编码String newStr = GetEncode.transcode(oldStr);
Java开发案例-springboot-61-整合asyncTool京东多线程编排工具-源代码+文档.rar Java开发案例-springboot-61-整合asyncTool京东多线程编排工具-源代码+文档.rar Java开发案例-springboot-61-整合asyncTool京东多线程...
yGuard是一款专业的Java代码混淆工具,它主要用于保护Java应用程序,防止恶意用户逆向工程分析代码,从而保护知识产权和商业机密。代码混淆是通过改变源代码中的类名、方法名、变量名,甚至修改字节码,使得原始代码...
Java到Python的转换工具,如"java2python",是一个重要的软件开发辅助工具,它能够帮助程序员将已有的Java代码转换成Python代码,以便在Python环境中执行或进行进一步的开发工作。这种转换过程涉及到多种语言特性和...
**JAVA - MyBatis Generator 代码自动生成工具** MyBatis Generator(MBG)是一款强大的Java工具,能够根据数据库表结构自动产生Model类、Mapper接口和XML映射文件,极大地提高了开发效率。这款工具适用于Java...
Java项目开发全程实录-源代码是一份涵盖了Java编程语言在实际项目开发中的全面实践案例。这份源代码集合为开发者提供了宝贵的参考资料,帮助他们深入理解Java编程思想、设计模式以及项目构建过程。以下是对这份资源...
java图片处理工具类JAR包 java-image-scalingjar
**PMD:Java代码检视工具** PMD是一款强大的开源静态代码分析工具,主要用于Java语言。它的主要功能是对Java源代码进行分析,检测潜在的编程错误、不良习惯和可能的性能问题,从而帮助开发者提高代码质量,降低维护...
2. **导入库**:在Java代码中,需要导入必要的JavaCV和OpenCV类库,例如`import org.bytedeco.javacpp.opencv_core;`等。 3. **编写代码**:使用JavaCV提供的API,开发者可以创建和操作图像、视频,进行颜色空间...
在Java编程中,工具类(Util Class)是包含各种静态方法的类,这些方法通常用于执行常见的、重复的任务,如字符串处理、数学计算或者集合操作等。这些类不包含任何状态,即没有实例变量,因此它们是线程安全的。在...
这样的工具类在大型项目中非常常见,因为它可以帮助开发者提高代码的复用性和一致性,减少重复的判空代码,使代码更加简洁、易读。 1. **对象判空**:`CheckUtil.isNotNull(Object obj)` 是一个基础的判空方法,它...
集合框架是Java处理数据集合的重要工具,包括List、Set和Map接口,以及ArrayList、LinkedList、HashSet、HashMap等实现类。掌握集合框架的使用,能够灵活地管理和操作数据。 多线程是Java的一大特色,允许程序同时...
接下来,工具类是预编写好的Java代码,通常包含了一系列静态方法,用于简化数据库操作。这些方法可能包括连接数据库、执行SQL查询、插入、更新和删除数据等。例如,一个简单的工具类可能包含以下方法: ```java ...
3. **编写Java代码**:接下来,我们将创建一个工具类来封装调用Google翻译API的方法。以下是一个简单的示例: ```java import com.google.cloud.translate.Translate; import ...
3. **生成图表配置**:在Java代码中,使用`EchartsUtils`的方法生成对应的Echarts配置对象。配置对象通常是一个JSON格式的字符串,包含了Echarts图表的所有设置,如数据、颜色、标题、图例等。 4. **前端展示**:将...
内容:微信支付-工具类,包含微信退款,微信支付,微信相关V2版本V3接口集成 适用人群:JAVA 使用场景:集成好微信支付,可自由调整相关类,自由编写业务场景 说明: 将工具类导入该自行项目,将maven-jar 的配置...
音乐-音乐网站-音乐网站源码-音乐网站java代码-音乐网站设计与实现-基于springboot的音乐网站-基于Web的音乐网站设计与实现-音乐项目-音乐项目代码音乐系统-音乐系统源码-音乐管理系统-音乐管理系统java代码-音乐...