`
mengqingyu
  • 浏览: 333921 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

Java文件压缩(apache.tools.zip)

阅读更多
由于jdk自带的压缩功能存在编码问题,所以使用apache工具包。
	/**
	 * 
	 * @function:文件zip压缩
	 * @param zipPath
	 *            压缩目标路径
	 * @param srcPath
	 *            被压缩文件路径
	 * @throws BusinessException
	 * @author: mengqingyu 2013-8-22 上午10:59:37
	 */
	public static void zipFiles(String zipPath, String srcPath) throws BusinessException {
		File srcFile = new File(srcPath);
		ZipOutputStream zos = null;
		InputStream is = null;
		byte[] buf = null;
		try {
			zos = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(zipPath)));
			is = new BufferedInputStream(new FileInputStream(srcFile));
			buf = new byte[is.available()];
			is.read(buf);
		} catch (Exception e) {
			log.error(e);
		} finally {
			try {
				is.close();
			} catch (IOException e1) {
				log.error(e1);
			}
		}
		try {
			zos.putNextEntry(new ZipEntry(srcFile.getName()));
			zos.write(buf);
			zos.setEncoding("gbk");
		} catch (IOException e) {
			log.error(e);
		} finally {
			try {
				zos.closeEntry();
				zos.close();
			} catch (IOException e1) {
				log.error(e1);
			}
		}
	}
分享到:
评论

相关推荐

    org.apache.tools.zip解决解压乱码问题

    import org.apache.tools.zip.ZipEntry; import org.apache.tools.zip.ZipFile; import org.apache.tools.zip.ZipOutputStream; /** * * 类名: ZipUtil.java * 描述:压缩/解压缩zip包处理类 * 创建...

    java压缩使用org.apache.tools.zip包解决中文文件名

    http://mirror.bjtu.edu.cn/apache//ant/source/apache-ant-1.8.2-src.zip 使用我自己包,直接放到WEB-INF\classes下解压即可, 在程序中加上 outf.setEncoding("gbk");即可 下面是我的多个文件压缩成一个的压缩...

    java压缩中文处理使用org.apache.tools.zip已经打包成jar

    java压缩中文处理使用org.apache.tools.zip已经打包成jar 只要放在LIB文件夹下,然后在JSP 或 JAVA 里引用即可。 <%@ page language="java" import="java.sql.*,java.io.*,org.apache.tools.zip.Zip" pageEncoding=...

    ant-1.7.1(org.apache.tools.zip.ZipOutputStream).zip

    这个版本包含了对Zip文件格式的支持,其中`org.apache.tools.zip.ZipOutputStream`是Ant用来创建Zip压缩文件的核心类。在处理中文文件名时,可能会遇到乱码问题,这是由于字符编码不一致所导致的。 描述中提到的...

    org.apache.tools.zip

    解压缩ZIP文件主要涉及`java.util.zip.ZipInputStream`和`org.apache.tools.zip.ZipEntry`。以下是一般过程: - 创建`ZipInputStream`对象,基于一个输入流(如FileInputStream),指向ZIP文件。 - 循环读取ZIP...

    org.apache.tools.zip.*和org.apache.commons.httpclient.*实现远程文件打包下载,支持中文文件名

    2. **创建ZIP输出流**:使用`java.io.FileOutputStream`和`org.apache.tools.zip.ZipOutputStream`,为将要创建的ZIP文件创建一个输出流。 3. **获取远程文件列表**:可能通过HTTP GET请求获取远程服务器上的文件...

    java 操作Zip文件(压缩、解压、加密).zip

    Java操作Zip文件主要涉及到对文件和目录的压缩与解压缩,以及在必要时对压缩文件进行加密处理。这里我们重点讨论使用两个库:`zip4j`和`Apache Ant`来实现这些功能。 1. **zip4j库**:`zip4j-1.3.2.jar`是一个用...

    JAVA解压ZIP多层目录文件(需ant.jar

    通过使用Apache Ant库中的`org.apache.tools.zip.ZipFile`类,能够轻松地处理复杂的文件结构,满足各种应用场景的需求。此外,这种方法还考虑到了异常处理,确保了解压过程的健壮性。对于需要频繁处理ZIP文件的应用...

    apache-ant-zip-2.3.jar.zip

    这些功能使得Apache Ant成为Java开发中的强大工具,尤其是在自动化构建过程中处理ZIP文件时。不过,由于Maven仓库中没有2.3版本,可能意味着这个版本较旧或者已被更现代的替代品取代。因此,建议评估使用此特定版本...

    java文件压缩源码

    以上就是使用Apache Ant的`Zip`类进行Java文件压缩的基本操作和相关知识点。这个工具类不仅简单易用,而且功能强大,能满足大部分文件压缩的需求。在实际项目中,根据具体需求,你还可以扩展它的功能,比如添加解压...

    java简单压缩算法

    ### Java简单压缩算法:利用Apache Ant进行文件夹压缩 在Java开发中,文件的压缩与解压是一项常见的需求,尤其是在处理大量数据或需要传输大文件时。本文将深入解析一个基于Java的简单压缩算法,该算法利用Apache ...

    java实现zip压缩文件

    import org.apache.tools.zip.ZipOutputStream; public class ZipCompressor { static final int BUFFER = 8192; private File zipFile; public ZipCompressor(String pathName) { zipFile = new File...

    java文件压缩与解压.doc

    Java中的文件压缩主要涉及使用第三方库Apache Commons Compress或者Apache的工具包`apache.tools.zip`来进行操作。这两种方式都允许开发者轻松地对文件进行压缩或解压缩。 #### 二、Apache Tools Zip 库简介 `...

    java压缩(zip)中文问题完美解决

    此外,如果你在其他Java压缩库或API中遇到类似问题,可以考虑采用类似的方法,即明确指定编码方式,比如在使用`java.util.zip`时,可以使用`ZipOutputStream`的`setEncoding()`方法来指定编码。但是,通常情况下,...

    JAVA_解压ZIP.txt

    import org.apache.tools.zip.*; public class AdapterZipFile { String zipFileName = null; // ZIP文件路径 String outputDirectory = null; // 解压目标目录 ArrayList list = new ArrayList(); // 文件列表 ...

    利用ant.jar解压缩zip包

    总的来说,利用Apache Ant的ant.jar库,无论是通过Java代码还是Ant构建文件,都能方便、高效地解压缩ZIP文件,而且对于包含中文文件名的情况,它提供了良好的支持。在实际开发中,理解并熟练运用这类工具可以极大地...

    Java ZIP压缩一个或多个文件(解决中文名称乱码).rar

    用java.util.zipoutputstream压缩会出现中文的文件名乱码的情况,且无法设置字符集,这个版本用org.apache.tools.zip.ZipOutputStream压缩,可以自定义字符集,解决中文的文件名乱码问题。

Global site tag (gtag.js) - Google Analytics