java 流打包zip,利用JAVA打包生成zip文件的类

该博客介绍了如何通过修改和优化beansoft的ZipUtil,使用Apache的Zip类来创建ZIP文件,特别是解决了在打包过程中支持中文文件名的问题。作者详细讲解了遍历目录、添加文件到ZIP输出流的实现,并提供了关键代码片段。
摘要由CSDN通过智能技术生成

主要代码参考了beansoft的ZipUtil,添加了一个方法,

可以把不同目录文件添加到zip中,并做了一些改进,使用了apache的zip类,(原为jdk的zip类),使支持中文文件名。

apache的zip类可以从ant中抽取。apache好像没有提供单独下载。

package com.order;

import java.io.*;

import java.util.List;

import org.apache.tools.zip.*;

/**

* 把多个文件打包到一个文件

* @author xiaofei.hu

*

*/

public class ZipUtil {

public static void toZip(File[] files, File zipFile){

}

/**

* The buffer.

*/

protected static byte buf[] = new byte[1024];

/**

* 遍历目录并添加文件.

* @param jos - JAR 输出流

* @param file - 目录文件名

* @param pathName - ZIP中的目录名

* @throws IOException

* @throws FileNotFoundException

*/

private static void recurseFiles(ZipOutputStream jos, File file, String pathName)

throws IOException, FileNotFoundException

{

if (file.isDirectory())

{

pathName = pathName + file.getName() + "/";

jos.putNextEntry(new ZipEntry(pathName));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值