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京东多线程...
班级回忆录-班级回忆录系统-班级回忆录系统源码-班级回忆录管理系统-班级回忆录管理系统java代码-班级回忆录系统设计与实现-基于springboot的班级回忆录系统-基于Web的班级回忆录系统设计与实现-班级回忆录网站-班级...
yGuard是一款专业的Java代码混淆工具,它主要用于保护Java应用程序,防止恶意用户逆向工程分析代码,从而保护知识产权和商业机密。代码混淆是通过改变源代码中的类名、方法名、变量名,甚至修改字节码,使得原始代码...
Java到Python的转换工具,如"java2python",是一个重要的软件开发辅助工具,它能够帮助程序员将已有的Java代码转换成Python代码,以便在Python环境中执行或进行进一步的开发工作。这种转换过程涉及到多种语言特性和...
编程训练-编程训练系统-编程训练系统源码-编程训练管理系统-编程训练管理系统java代码-编程训练系统设计与实现-基于springboot的编程训练系统-基于Web的编程训练系统设计与实现-编程训练网站-编程训练网站代码-编程...
班级回忆录-班级回忆录系统-班级回忆录系统源码-班级回忆录管理系统-班级回忆录管理系统java代码-班级回忆录系统设计与实现-基于springboot的班级回忆录系统-基于Web的班级回忆录系统设计与实现-班级回忆录网站-班级...
编程训练-编程训练系统-编程训练系统源码-编程训练管理系统-编程训练管理系统java代码-编程训练系统设计与实现-基于springboot的编程训练系统-基于Web的编程训练系统设计与实现-编程训练网站-编程训练网站代码-编程...
**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字段代码。 4、优点:使用代码生成驼峰形式的字段,可以减少出错概率,生成的实体类字段符合Java命名规范,易于阅读和理解。 5、使用示例:将...
在Java编程中,工具类(Util Class)是包含各种静态方法的类,这些方法通常用于执行常见的、重复的任务,如字符串处理、数学计算或者集合操作等。这些类不包含任何状态,即没有实例变量,因此它们是线程安全的。在...
jedis的工具类,java代码写的,非常全面,jedis的工具类,java代码写的,非常全面jedis的工具类,java代码写的,非常全面jedis的工具类,java代码写的,非常全面jedis的工具类,java代码写的,非常全面jedis的工具类...
电影-电影网站-电影网站源码-电影网站java代码-电影网站设计与实现-基于ssm的电影网站-基于Web的电影网站设计与实现-电影项目-电影项目代码电影系统-电影系统源码-电影管理系统-电影管理系统java代码-电影平台-电影...