java生成压缩文件封装工具方法

本文介绍了一个业务场景,即如何根据树状结构将每个节点的文件打包到ZIP压缩包中。通过使用Apache的`org.apache.tools.zip.ZipOutputStream`,作者封装了一个便捷的方法。文中提供了一段关键的Java代码示例。
摘要由CSDN通过智能技术生成

有业务场景需要根据一些树状结构, 打包每个节点的文件到一个zip包. 下面使用  org.apache.tools.zip.ZipOutputStream 封装成一个方法.

/**
	 将文件压缩到ZIP输出流
	 * @param dirPath 目录路径
	 * @param file 文件
	 * @param zouts 输出流
	 * @param fileName 要存储的文件名
	 * @param isDirectory 是否是目录
	 */
	public static void zipFilesToZipFile(String dirPath, File file,
										 ZipOutputStream zouts,String fileName,Boolean isDirectory) {
		FileInputStream fin = null;
		ZipEntry entry = null;
		// 创建复制缓冲区
		try {
			byte[] buf = new byte[4096];
			int readByte = 0;
			if (file.isFile()) {
				// 创建一个文件输入流
				fin = new FileInputStream(file);
				// 创建一个ZipEntry
				entry = new ZipEntry(getEntryName(dirPath, fileName));
				// 存储信息到压缩文件
				zouts.putNextEntry(entry);
				// 复制字节到压缩文件
				while ((readByte = fin.read(buf)) != -1) {
					zouts.write(buf, 0, readByte);
				}
				zouts.closeEntry();
				fin.close();
				System.out.println("添加文件 " + 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值