java中zip压缩包的中文处理问题
来源:互联网 发布:苍之骑士团主角数据 编辑:程序博客网 时间:2024/05/14 05:00
java内置了对zip格式压缩文件的处理,常用的的几个类包括:
1、ZipFile
2、ZipInputStream
3、ZipOutputStream
4、ZipEntry
但在处理压缩文件中的中文入口时是会报IllegalArgumentException异常,但这并非是其不支持中文,而是因为其默认的压缩文件中的文字编码格式为unicode,而常用的压缩工具如WINZIP/WINRAR压缩后的文件中的文字编码格式为acsii,因此如果需要处理常用的ZIP文件,就必须手工来处理一下了。
常见的几种方式有:
1、修改相关类中的处理方式,关键代码如下(以ZipInputStream为例):
原代码: ZipEntry e = createZipEntry(getUTF8String(b, 0, len));
修改为:
ZipEntry e = null;
//这里encoding是成员变量,可以在构建函数中赋值
if (encoding=null) e=createZipEntry(getUTF8String(b, 0, len));
else e=createZipEntry(new String(b, 0, len, encoding));
替换的方式也有三种:
1、创建替换类(在同一包名下),并替换rt.jar中的同名类
2、创建替换类(在同一包名下),单独打包并放在类路径中(但有些服务器可禁用java开头的包)
3、在应用中创建自己的类,随应用发布
2、使用ANT包中的org.apache.tools.zip中的相关类,但不包含ZipInputStream的对应类。
- java中zip压缩包的中文处理问题
- java中zip压缩包的中文处理问题
- JAVA zip压缩包处理类
- java中解压缩zip的中文问题
- java压缩zip文件中文乱码问题
- java 处理zip 压缩与解压的问题
- 使用Java zip包和apach 的ant包对文件、文件夹进行压缩,兼容中文
- PHP解压ZIP压缩包,解决中文乱码问题
- 使用ant自带的org.apache.tools.zip包来压缩zip文件,重点:中文路径文件名问题
- PHP中文件压缩为Zip包及专门解压Zip包的类文件
- Java 生成zip压缩包
- 解压zip压缩包(JAVA)
- java解压Zip压缩包
- java解压zip压缩包
- Java实现Zip压缩与解压(解决中文乱码问题)
- java压缩zip文件中文乱码问题 linux 下
- Java实现Zip压缩与解压(解决中文乱码问题)
- Java ZIP压缩和解压缩文件(解决中文文件名乱码问题)
- 一个大学生的广州血泪史(十五)[转帖]
- 【转帖】一份详尽的IPC$入侵资料!
- 转移阵地了
- 数据库名与系统关键字冲突
- NetMeeting网上会议软件怎样突破内网的IP限制及网上目录服务器的局限
- java中zip压缩包的中文处理问题
- html:form标签的focus属性的作用
- 谈谈我对攻读计算机研究生的一些看法(转载)
- struts资源帖(3.4最新更新)
- 在eclipse中开发c/c++程序
- 在数据库中存储层次数据(转自http://www2.uuzone.com)
- zz 做女孩
- adodb.stream对象的方法/属性
- Microsoft的测试过程