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);
yGuard是一款专业的Java代码混淆工具,它主要用于保护Java应用程序,防止恶意用户逆向工程分析代码,从而保护知识产权和商业机密。代码混淆是通过改变源代码中的类名、方法名、变量名,甚至修改字节码,使得原始代码...
笔记记录分享-笔记记录分享网站-笔记记录分享网站源码-笔记记录分享网站java代码-笔记记录分享网站设计与实现-基于springboot的笔记记录分享网站-基于Web的笔记记录分享网站设计与实现-笔记记录分享项目-笔记记录...
Java到Python的转换工具,如"java2python",是一个重要的软件开发辅助工具,它能够帮助程序员将已有的Java代码转换成Python代码,以便在Python环境中执行或进行进一步的开发工作。这种转换过程涉及到多种语言特性和...
编程训练-编程训练系统-编程训练系统源码-编程训练管理系统-编程训练管理系统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
餐饮-餐饮系统-餐饮系统源码-餐饮管理系统-餐饮管理系统java代码-餐饮系统设计与实现-基于ssm的餐饮系统-基于Web的餐饮系统设计与实现-餐饮网站-餐饮网站代码-餐饮平台-餐饮平台代码-餐饮项目-餐饮项目代码-餐饮代码...
2. **导入库**:在Java代码中,需要导入必要的JavaCV和OpenCV类库,例如`import org.bytedeco.javacpp.opencv_core;`等。 3. **编写代码**:使用JavaCV提供的API,开发者可以创建和操作图像、视频,进行颜色空间...
`RabbitmqUtil` 是一个专门为Java开发者设计的工具类,简化了与RabbitMQ交互的复杂过程,使得开发者能够更快速、更方便地发送和接收消息。 首先,我们来详细了解一下`RabbitmqUtil`工具类的主要功能: 1. **连接...
在Java编程中,工具类(Util Class)是包含各种静态方法的类,这些方法通常用于执行常见的、重复的任务,如字符串处理、数学计算或者集合操作等。这些类不包含任何状态,即没有实例变量,因此它们是线程安全的。在...
jedis的工具类,java代码写的,非常全面,jedis的工具类,java代码写的,非常全面jedis的工具类,java代码写的,非常全面jedis的工具类,java代码写的,非常全面jedis的工具类,java代码写的,非常全面jedis的工具类...
电影-电影网站-电影网站源码-电影网站java代码-电影网站设计与实现-基于ssm的电影网站-基于Web的电影网站设计与实现-电影项目-电影项目代码电影系统-电影系统源码-电影管理系统-电影管理系统java代码-电影平台-电影...
3. **生成图表配置**:在Java代码中,使用`EchartsUtils`的方法生成对应的Echarts配置对象。配置对象通常是一个JSON格式的字符串,包含了Echarts图表的所有设置,如数据、颜色、标题、图例等。 4. **前端展示**:将...
内容:微信支付-工具类,包含微信退款,微信支付,微信相关V2版本V3接口集成 适用人群:JAVA 使用场景:集成好微信支付,可自由调整相关类,自由编写业务场景 说明: 将工具类导入该自行项目,将maven-jar 的配置...