import java.io.File;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.taskdefs.Expand;
import org.apache.tools.ant.taskdefs.Zip;
import org.apache.tools.ant.types.FileSet;
public class Zipper {
public final static String encoding = "GBK";
// 压缩
public static void zip(String srcPathname, String zipFilepath)
throws BuildException, RuntimeException {
File file = new File(srcPathname);
if (!file.exists())
throw new RuntimeException("source file or directory "
+ srcPathname + " does not exist.");
Project proj = new Project();
FileSet fileSet = new FileSet();
fileSet.setProject(proj);
// 判断是目录还是文件
if (file.isDirectory()) {
fileSet.setDir(file);
// ant中include/exclude规则在此都可以使用
// 比如:
// fileSet.setExcludes("**/*.txt");
// fileSet.setIncludes("**/*.xls");
} else {
fileSet.setFile(file);
}
Zip zip = new Zip();
zip.setProject(proj);
zip.setDestFile(new File(zipFilepath));
zip.addFileset(fileSet);
zip.setEncoding(encoding);
zip.execute();
}
// 解压缩
public static void unzip(String zipFilepath, String destDir)
throws BuildException, RuntimeException {
if (!new File(zipFilepath).exists())
throw new RuntimeException("zip file " + zipFilepath
+ " does not exist.");
Project proj = new Project();
Expand expand = new Expand();
expand.setProject(proj);
expand.setTaskType("unzip");
expand.setTaskName("unzip");
expand.setEncoding(encoding);
expand.setSrc(new File(zipFilepath));
expand.setDest(new File(destDir));
expand.execute();
}
public static void main(String []args){
unzip("D:\\123.zip","D:\\123");
zip("D:\\upload","D:\\upload.zip");
}
}
分享到:
相关推荐
利用ant.jar解压缩zip包的工具类,内含ant.jar包,可以解决文件为中文的问题,大家随便看看
可以解决中文的的文件,比java.util.zip自带的要好
利用ant api做的遍历并解压各种压缩文件格式的源代码 支持 zip, (当然) gzip tar gz bz2 bz 文件包括ant.jar, 源代码 有问题可以留言,我会及时回复 ziptest下面是用来做测试的目录。 请解压到 C:\temp\ziptest ...
NULL 博文链接:https://wintys.iteye.com/blog/426090
7zip压缩、解压 tar.gz,build.xml在压缩包里面。。。。。。。。。。。。。。
主要介绍了使用Java操作Ant压缩和解压文件以及批量打包Anroid应用的教程,Ant是一个自动化部署工具,用来处理zip和tar文件非常方便,需要的朋友可以参考下
使用java压缩也解压zip文件方法,解决中文乱码问题。使用java自带的压缩解压算法,会出现中文乱码问题。使用apache io的zip包,有效解决该问题。Ant的压缩解压,也是使用该类。
JAVA 文件夹压缩解压,并使用AES加密源代码,带ant.jar包
从Apache Ant 中分离出的压缩和解压功能的jar,可用于zip,tar,gzip文件的压缩和解压缩,支持中文名称
AntZip压缩/*** 对传入的目录或者是文件进行压缩* @param srcFile 需要 压缩的目录或者文件* @param destFile 压缩文件的路径*/public void doZip(String srcFile, String destFile) {// zipDirectoryPath:需要...
基于ant.jar的文件(夹)压缩解压工具,支持完整目录树压缩和就解压,支持编码设置
Java压缩及解压tar、tar.z格式文件, 需要apache的包ant-1.7.1.jar 这个自己去搜索下下载
java 操作Zip文件(压缩、解压、加密) zip4j-1.3.2.jar ant-1.10.6.jar
这个名是名离自ant原码的,由于java.util.zip处理中文文件名时有问题可以用这个包代替那个使用... <br>特点: 一、自有原码不依赖ant.jar 二、支持中文文件名(压缩和解压都支持) 三、支持对目录压缩
Apache的java压缩(解压)文件jar包; jar包的名字有些别扭叫ant.jar
完美支持解压zip文件多层文件解压,文件夹,文件,支持中文。
zip包里面有两个文件,一个是zip封装类,一个是测试类, 还有这个里面需要用到apache的ant.jar包,和junit.jar单元测试包,如果报错请导入上面说的两个包
java 压缩和解压 demo 解决中文乱码 这是本人做好的一个关于java压缩、解压缩文件或文件夹的demo,解决了中文乱码的问题,可以压缩或解压缩嵌套文件夹。一个ZipHelper + ant.jar轻松解决^_^,希望可以帮助到大家!具体...