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
分享到:
相关推荐
不需要关心接受的字符串编码是UTF_8还是GBK,还是ios-8859-1,自动转换为utf-8编码格式,无需判断字符串原有编码,用法://处理编码String newStr = GetEncode.transcode(oldStr);
java 文件处理工具类 java 文件处理工具类java 文件处理工具类java 文件处理工具类java 文件处理工具类 java 文件处理工具类java 文件处理工具类java 文件处理工具类java 文件处理工具类 java 文件处理工具类java ...
班级回忆录-班级回忆录系统-班级回忆录系统源码-班级回忆录管理系统-班级回忆录管理系统java代码-班级回忆录系统设计与实现-基于springboot的班级回忆录系统-基于Web的班级回忆录系统设计与实现-班级回忆录网站-班级...
yGuard是一款专业的Java代码混淆工具,它主要用于保护Java应用程序,防止恶意用户逆向工程分析代码,从而保护知识产权和商业机密。代码混淆是通过改变源代码中的类名、方法名、变量名,甚至修改字节码,使得原始代码...
笔记记录分享-笔记记录分享网站-笔记记录分享网站源码-笔记记录分享网站java代码-笔记记录分享网站设计与实现-基于springboot的笔记记录分享网站-基于Web的笔记记录分享网站设计与实现-笔记记录分享项目-笔记记录...
班级回忆录-班级回忆录系统-班级回忆录系统源码-班级回忆录管理系统-班级回忆录管理系统java代码-班级回忆录系统设计与实现-基于springboot的班级回忆录系统-基于Web的班级回忆录系统设计与实现-班级回忆录网站-班级...
编程训练-编程训练系统-编程训练系统源码-编程训练管理系统-编程训练管理系统java代码-编程训练系统设计与实现-基于springboot的编程训练系统-基于Web的编程训练系统设计与实现-编程训练网站-编程训练网站代码-编程...
球队训练信息-球队训练信息系统-球队训练信息系统源码-球队训练信息管理系统-球队训练信息管理系统java代码-球队训练信息系统设计与实现-基于springboot的球队训练信息系统-基于Web的球队训练信息系统设计与实现-...
基于java的开发源码-Hutool (Java基础工具类).zip 基于java的开发源码-Hutool (Java基础工具类).zip 基于java的开发源码-Hutool (Java基础工具类).zip 基于java的开发源码-Hutool (Java基础工具类).zip 基于java的...
java图片处理工具类JAR包 java-image-scalingjar
这意味着,开发者编写的Java代码可以成为iOS应用程序的一部分,且无需对生成的文件进行编辑。 J2ObjC 支持大多数 Java 语言和运行环境的客户端应用特性,包括异常、内部类和匿名类、泛型、线程和反射,也支持 JUnit...
`RabbitmqUtil` 是一个专门为Java开发者设计的工具类,简化了与RabbitMQ交互的复杂过程,使得开发者能够更快速、更方便地发送和接收消息。 首先,我们来详细了解一下`RabbitmqUtil`工具类的主要功能: 1. **连接...
[工具类] 获得汉字拼音首字母的java工具类.java.txt [工具类] 获取绝对路径 .java.txt [工具类] 记录log日志文件的工具类 .java.txt [工具类] 连接数据库的工具类 .java.txt [工具类] 使用Java程序来实现HTTP文件的...
只需要复制数据库列名,支持多列复制,执行工具类即可生成对应的Java字段代码。 4、优点:使用代码生成驼峰形式的字段,可以减少出错概率,生成的实体类字段符合Java命名规范,易于阅读和理解。 5、使用示例:将...
java 文件处理工具类 java 文件处理工具类java 文件处理工具类 java 文件处理工具类java 文件处理工具类 java 文件处理工具类java 文件处理工具类 java 文件处理工具类java 文件处理工具类 java 文件处理工具类java ...
接下来,工具类是预编写好的Java代码,通常包含了一系列静态方法,用于简化数据库操作。这些方法可能包括连接数据库、执行SQL查询、插入、更新和删除数据等。例如,一个简单的工具类可能包含以下方法: ```java ...
Java XML-repair修复工具类是Java编程中处理XML文档时的一种实用工具,它主要用于修复XML文件的格式问题,确保XML文档符合W3C标准,从而能够被正确解析和处理。XML(eXtensible Markup Language)是一种用于标记数据...
内容:微信支付-工具类,包含微信退款,微信支付,微信相关V2版本V3接口集成 适用人群:JAVA 使用场景:集成好微信支付,可自由调整相关类,自由编写业务场景 说明: 将工具类导入该自行项目,将maven-jar 的配置...
这个工具在 Java 开发中尤其有用,因为它允许程序员在运行时或构建过程中动态处理和操作 Java 代码。`javaparser-core-3.6.16.jar` 文件是 JavaParser 库的核心组件,包含了对 Java 语言解析所需的所有核心类和方法...
在Java开发过程中,工具类是不可或缺的一部分,它们封装了常用的操作,提高代码的复用性和可维护性。"java个人开发工具类"集合了开发者在实际项目中可能会频繁使用的功能,比如对Redis的操作、FastDFS客户端接口以及...