使用java.util.zip下的类进行zip压缩,它使用的是uft-8的编码方式,这样会引起中文名变成乱码的情况,解决的方法是用truezip.jar下的类,truezip的相关介绍和下载见
https://truezip.dev.java.net/
import java.io.File;
import java.io.IOException;
import org.apache.commons.io.CopyUtils;
import de.schlichtherle.io.FileInputStream;
import de.schlichtherle.io.FileOutputStream;
import de.schlichtherle.util.zip.ZipEntry;
import de.schlichtherle.util.zip.ZipOutputStream;
public class Test
{
public static void main(String []args); throws Exception
{
String needtozipfilepath ="";
String zipfilepath = "";
File needtozipfile = new File(needtozipfilepath);;
File zipfile = new File(zipfilepath);;
FileOutputStream fout = new FileOutputStream(zipfile);;
ZipOutputStream zout = new ZipOutputStream(fout,"GBK");; //解决中文问题的关键所在
try
{
for(File in : needtozipfile.listFiles(););
{
ZipEntry ze = new ZipEntry(in.getName(););;
zout.putNextEntry(ze);;
FileInputStream fis = new FileInputStream(in);;
try
{
CopyUtils.copy(fis,zout);;
}
catch (IOException e);
{
// TODO: handle exception
}
finally
{
if(fis != null);
fis.close();;
zout.closeEntry();;
}
}
}
catch (IOException e);
{
// TODO: handle exception
}
finally
{
if(zout != null);
{
zout.close();;
fout.close();;
}
}
}
}
分享到:
相关推荐
java压缩文件成zip实现无乱码 内置类与jar包
解决java压缩zip文件时的中文乱码问题 实现:java压缩文件成zip实现无乱码。 包括:写好的工具类与jar包。 使用方法:导入ant.jar包,调用CompressExcelOperate中的方法,即可实现压缩文件,并保证没有中文乱码...
项目中碰到问题.jdk zipEntry 压缩中文文件名乱码 上网查了下,有两种方法,一种修改jdk ZipInputStream及ZipOutputStream 的源文件,比较麻烦,不建议此项. 第二种 就是拿来主义,因为 开源项目 Ant 里已经有...
使用java压缩也解压zip文件方法,解决中文乱码问题。使用java自带的压缩解压算法,会出现中文乱码问题。使用apache io的zip包,有效解决该问题。Ant的压缩解压,也是使用该类。
解决android 自带zip解压缩中文乱码的问题,导入zip.jar即可使用(与系统提供的用法相同),大小仅24k
应用SharpCompress0.22开源包进行文件的解压缩(zip,rar文件),已处理中文乱码问题,例子很基础.源码环境 VS2017 15.3 .
java中使用ZipEntry对文件目录下的所有文件进行压缩,已解决中文乱码问题,亲测可用,请放心下载。
CompresszZipFile 中带是 zip解压 ZipFileUtil 是文件的压缩 和rar的解压
在使用Java对ZIP压缩文件进行解压的方式中有两种,一种是使用apache提供的ant.jar工具包,但是如果ZIP文件中含有中文名称的文件,在解压后,文件名将出现乱码,另一种是使用Java自身JDK中java.util.zip包下工具类,...
用java.util.zipoutputstream压缩会出现中文的文件名乱码的情况,且无法设置字符集,这个版本用org.apache.tools.zip.ZipOutputStream压缩,可以自定义字符集,解决中文的文件名乱码问题。
主要介绍了java压缩zip文件中文乱码问题的解决方法,需要的朋友可以参考下
自己封装的文件ZIP压缩和解压接口,调用简单方便
* @param directory 指定压缩文件路径 压缩到同目录 * @throws IOException * void */ public static void zip(String directory) throws FileNotFoundException, IOException { zip("", null,...
在Java中通过ZipFile解析Android apk 压缩文件,获取版本号等信息,获取的manifest文件格式无法识别为xml,导致无法解析,该jar文件用来处理乱码文件,apk压缩文件解压缩乱码问题
读取zip文件,不解压缩直接解析,支持文件名中文,解决内容乱码(还是以支付宝对账单为例)
ZipOutputStream 压缩 乱码
内核使用7Z软件进行解压 ,基本能适用所有的压缩格式, 处理解压文件时中文乱码问题, 复制代码即可使用
在ubuntu10.04下用gnome自带的归档管理器解压windows下压缩的zip文件,中文会出现乱码。将压缩包中以7z开头的文件全部复制到/usr/lib/p7zip/目录下,替换掉原有的文件。这样乱码就解决了。
1、指定文件可下载并且服务器端会删除此文件。 2、指定文件夹(文件夹中必须有一个文件),程序会自动的压缩文件为 zip,然后下载删除源文件与压缩文件...注意一点:中文的文件名会出现乱码(解决方案:导入ant.jar)
java中使用ZipEntry对文件目录下的所有文件进行压缩,已解决中文乱码问题,亲测可用,请放心下载。