java代理使用 apache ant实现文件压缩/解压缩
【背景】
近日在研究web邮件下载功能,下载的邮件能够导入foxmail邮件client。可是批量下载邮件还需将邮件打成一个压缩包。
从网上搜索通过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();
- }
- }
java代理使用 apache ant实现文件压缩/解压缩的更多相关文章
- 使用 apache ant 轻松实现文件压缩/解压缩(转)
原文地址:http://blog.csdn.net/irvine007/article/details/6779492 maven配置ant包: <dependency> <grou ...
- Java实现对zip和rar文件的解压缩
通过java实现对zip和rar文件的解压缩
- ubuntu下文件压缩/解压缩
ubuntu下文件压缩/解压缩 http://blog.csdn.net/luo86106/article/details/6946255 .gz 解压1:gunzip FileName.gz 解压2 ...
- 前端部署ant+yuicompressor文件压缩+获取版本+SSH公布(部分代码)
文件压缩: <apply executable="java" parallel="false" failonerror="true" ...
- AntZipUtils【基于Ant的Zip压缩解压缩工具类】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 Android 压缩解压zip文件一般分为两种方式: 基于JDK的Zip压缩工具类 该版本存在问题:压缩时如果目录或文件名含有中文, ...
- ubuntu下文件压缩/解压缩命令总结
.gz 解压1:gunzip FileName.gz 解压2:gzip -d FileName.gz 压缩:gzip FileName .tar.gz 解压:tar zxvf FileName.tar ...
- Shell命令-文件压缩解压缩之tar、unzip
文件及内容处理 - tar.unip 1.tar:打包压缩命令 tar命令的功能说明 tar 命令常用语用于备份文件,tar 是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件 ta ...
- Shell命令-文件压缩解压缩之gzip、zip
文件及内容处理 - gzip.zip 1.gzip:gzip压缩工具 gzip命令的功能说明 gzip 命令用于压缩文件.gzip 是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出 .gz ...
- Android zip文件压缩解压缩
DirTraversal.java <P style="TEXT-ALIGN: left; PADDING-BOTTOM: 0px; WIDOWS: 2; TEXT-TRANSFORM ...
随机推荐
- T4模板使用记录,生成Model、Service、Repository
自己目前在搭建一个.NET Core的框架,本来是打算使用前端做代码生成器直接生成到文件的,快做好了.感觉好像使用T4更方便一些,所以也就有了这篇文章~ 我还是有个问题没解决,就是我想生成每个类(接 ...
- 悼念512汶川大地震遇难同胞——老人是真饿了 hdu 2187
在此对 曾经 努力参加 救援的人 致以深深的敬意 . 这一道题 挺简单的 就是简单的 结构体+贪心 而已 不过 用英文 注释 是一个 很大的 进步 , 以后 要习惯 http://acm.hdu ...
- $P5018 对称二叉树$
problem 一直忘记给这个题写题解了. 这题挺水的吧. 挺后悔当时没写出来. #ifdef Dubug #endif #include <bits/stdc++.h> using na ...
- BZOJ 1137 半平面交
半平面交的板子 //By SiriusRen #include <bits/stdc++.h> #define double long double using namespace std ...
- hibernate annotation 生成uuid主键
JPA标准方式下,不可以生成uuid类型的主键,但是hibernate提供了一些方式生成uuid主键,具体如下: 1.主键生成器 @GeneratedValue(generator=" ...
- P2871 [USACO07DEC]手链Charm Bracelet
题目描述 Bessie has gone to the mall's jewelry store and spies a charm bracelet. Of course, she'd like t ...
- Object未定义
js加载时会在jquery中报Object未定义的错误? 原因: 页面和iframe页面中都引入了jquery 或者 是页面中包含iframe,并且在iframe没有完成加载前操作了iframe中的j ...
- 远程连接阿里云服务器ping不通ip解决方案
搭建了阿里云服务器,发现本地ping不通,查看半天才发现,原来是在阿里云上的安全组少了些东西. 在出入方向上新建一个安全组,就可以搞定了.
- iptables详解(4):iptables匹配条件总结之一
所属分类:IPtables Linux基础 在本博客中,从理论到实践,系统的介绍了iptables,如果你想要从头开始了解iptables,可以查看iptables文章列表,直达链接如下 iptab ...
- Uncaught TypeError: str.replace is not a function
在做审核页面时,点击审核通过按钮不执行 后来F12控制台查看发现有报错 是因为flisnullandxyzero未执行 然后找出这个方法,此方法为公共方法,将这个方法复制出来 然后使用console. ...