利用ant包下的ZipFile和ZipOutputStream进行压缩和解压文件时,如果不指定编码方式,会以系统默认的编码方式进行处理
由于Windows(中文版)系统默认的编码方式是GBK,故Ant采用默认的编码方式处理时,Windows能正常处理Zip文件中包含有中文名称的文件。
而Linux系统默认的编码方式是UTF-8,此时ANt再采用默认的编码方式处理,就不能正常处理。
解决方案是通过设置Ant的默认编码方式,统一设置UTF-8即可,可以设置如下代码:zipFile.setEncoding("UTF-8")和zipOutputStream.setEncoding("UTF-8")
分享到:
相关推荐
java压缩文件成zip实现无乱码 内置类与jar包
使用java压缩也解压zip文件方法,解决中文乱码问题。使用java自带的压缩解压算法,会出现中文乱码问题。使用apache io的zip包,有效解决该问题。Ant的压缩解压,也是使用该类。
网上很多描述java解压中文乱码的问题,很多描述不全.由于工作需要整理出一个完整版.简单实用.下载后请从ZipUtil.java的main方法开始,一目了然. public static void main(String args[]) { new ZipUtil().unZip("E:\\...
在使用Java对ZIP压缩文件进行解压的方式中有两种,一种是使用apache提供的ant.jar工具包,但是如果ZIP文件中含有中文名称的文件,在解压后,文件名将出现乱码,另一种是使用Java自身JDK中java.util.zip包下工具类,...
CompresszZipFile 中带是 zip解压 ZipFileUtil 是文件的压缩 和rar的解压
解决java压缩zip文件时的中文乱码问题 实现:java压缩文件成zip实现无乱码。 包括:写好的工具类与jar包。 使用方法:导入ant.jar包,调用CompressExcelOperate中的方法,即可实现压缩文件,并保证没有中文乱码...
项目中碰到问题.jdk zipEntry 压缩中文文件名乱码 上网查了下,有两种方法,一种修改jdk ZipInputStream及ZipOutputStream 的源文件,比较麻烦,不建议此项. 第二种 就是拿来主义,因为 开源项目 Ant 里已经有...
用Java压缩解压ZIP文件,将利用java.util.zip 包中提供的类来实现压缩和解压zip 格式文件的功能。当然,本例在功能上完全没有Winzip 等成熟的压缩软件那么强,也不能做的很强,本例仅仅是演示如何来使用java.util....
java解压zip压缩文件,读取压缩文件中的内容并输出到输出文件中。
java压缩解压ZIP
windows下压缩的tar,zip文件,上传到Linux后unzip不认的解决办法
从其他网站上下载的库,修改了字符串编码转换的方法,解决中文乱码问题,使用示例可见https://blog.csdn.net/qq_28742901/article/details/116156457
读取zip文件,不解压缩直接解析,支持文件名中文,解决内容乱码(还是以支付宝对账单为例)
应用SharpCompress0.22开源包进行文件的解压缩(zip,rar文件),已处理中文乱码问题,例子很基础.源码环境 VS2017 15.3 .
解决android 自带zip解压缩中文乱码的问题,导入zip.jar即可使用(与系统提供的用法相同),大小仅24k
java 操作Zip文件(压缩、解压、加密) zip4j-1.3.2.jar ant-1.10.6.jar
java控制指定路径下的文件夹压缩成zip格式。 java将zip压缩包解压成为文件夹。直接使用io流进行操作,不需借助其他jar包
* 如果传null或者""则将压缩文件存放在当前目录,即跟源文件同目录,压缩文件名取源文件名,以.zip为后缀; * 如果以路径分隔符(File.separator)结尾,则视为目录,压缩文件名取源文件名,以.zip为后缀,否则视为...
使用java解压缩文件,并获取压缩文件中的文件名称,使用多线程,提高效率
Java实现的带密码压缩与解压zip文件源码,可将多个文件使用不同的密码压进同一个zip文件;可以解压带密码的zip文件(store压缩模式)