java代理使用 apache ant实现文件压缩/解压缩

【背景】

近日在研究web邮件下载功能,下载的邮件可以导入foxmail邮件客户端,但是批量下载邮件还需将邮件打成一个压缩包。从网上搜索通过java实现文件压缩、解压缩有很多现成的例子。

【参考代码】(需要下载apache ant.jar包)

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();
	}
}
时间: 2024-10-17 00:05:44

java代理使用 apache ant实现文件压缩/解压缩的相关文章

前端部署ant+yuicompressor文件压缩+获取版本号+SSH发布(部分代码)

文件压缩: <apply executable="java" parallel="false" failonerror="true" dest="../../release/publish/ecshop" append="false" force="true"> <fileset dir="../../release/publish/ecshop"&

AntZipUtils【基于Ant的Zip压缩解压缩工具类】

版权声明:本文为博主原创文章,未经博主允许不得转载. 前言 Android 压缩解压zip文件一般分为两种方式: 基于JDK的Zip压缩工具类 该版本存在问题:压缩时如果目录或文件名含有中文,压缩后会变成乱码: 使用Java的zip包可以进行简单的文件压缩和解压缩处理时,但是遇到包含中文汉字目录或者包含多层子目录的复杂目录结构时,容易出现各种各样的问题. 基于Ant的Zip压缩工具类 需要第三方JAR包:Apache的ant.jar: 解决了上面存在的问题. 效果图 代码分析 常用的方法: 压缩

Shell命令-文件压缩解压缩之tar、unzip

文件及内容处理 - tar.unip 1.tar:打包压缩命令 tar命令的功能说明 tar 命令常用语用于备份文件,tar 是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件 tar命令的语法格式 tar [OPTION...] [FILE]...tar [参数] [文件] ... tar命令的常用参数说明: tar 参数很多,表1为 tar 命令的参数及说明: 表1: tar 命令的参数及说明 参数选项 解释说明 -A或--catenate 新增文件到已存在的备份文件. -

Shell命令-文件压缩解压缩之gzip、zip

文件及内容处理 - gzip.zip 1.gzip:gzip压缩工具 gzip命令的功能说明 gzip 命令用于压缩文件.gzip 是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出 .gz 的扩展名. gzip命令的语法格式 gzip [ -acdfhlLnNrtvV19 ] [-S suffix] [ name ... ]gzip [-acdfhlLnNqrtvV][-S <压缩字尾字符串>][-<压缩效率>][--best/fast][文件...] 或 gzip [-

Java实现对zip和rar文件的解压缩

package com.svse.test; import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.util.Enumeration; import org.apache.tools.zip.ZipEntry;import org.apache.tools.zi

linux基本命令[文件压缩解压缩]

常用的压缩格式.zip .gz .bz2 常用的压缩格式 .tar.gz .tar.bz2 zip 压缩文件名 源文件 #压缩文件 zip -r 压缩文件名 源目录 #压缩目录 unzip 压缩文件 #解压缩 gzip 源文件  #压缩为.gz格式的压缩文件,源文件会消失 gzip -r 目录  #压缩目录下的所有子文件,但是不能压缩目录 gzip -d 压缩文件  #解压缩 gunzip 压缩文件 #解压缩 bzip2 源文件 #压缩文件 bzip2 -k 源文件 #压缩文件并保留源文件 bz

ubuntu下文件压缩/解压缩命令总结

http://blog.csdn.net/luo86106/article/details/6946255 .gz 解压1:gunzip FileName.gz解压2:gzip -d FileName.gz 压缩:gzip FileName .tar.gz 解压:tar zxvf FileName.tar.gz 压缩:tar zcvf FileName.tar.gz DirName --------------------------------------------- .bz2 解压1:bz

ubuntu下文件压缩解压缩命令

.gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName.tar.gz解压:tar zxvf FileName.tar.gz压缩:tar zcvf FileName.tar.gz DirName---------------------------------------------.bz2解压1:bzip2 -d FileName.bz2解压2:bunzip2 FileName.bz2压缩: bzip2 -z FileNa

Ant—怎样Windows操作系统中搭建Apache Ant环境

介绍一下怎样在Windows操作系统中搭建Apache Ant环境: 一.下载Apache Ant压缩文件:http://download.csdn.net/detail/wangshuxuncom/8019453 二.解压该压缩文件,并将其复制到适当的文件夹中比方复制到"C:\Program Files"文件夹内: 三.配置环境变量(以Windows 7为例): a.鼠标选中"计算机"并右鼠标选中并点击"属性(R)"出现下图: b.点击上图&q