java zip 压缩包

package java.util.zip;

文件导出到【临时目录】,压缩包放【临时目录】外边

打完包根据需要 删除【临时目录】

(得先删【临时目录】中的文件,才能删掉【临时目录】)

文件流 不关 删不掉文件

 文件夹 :

目标.zip

临时目录

       文件1.pdf

       文件2.pdf

                    try(
						// 压缩包  压缩包位置:zipFilePath
						FileOutputStream fileOutputStream = 
                            new FileOutputStream(zipFilePath);

						CheckedOutputStream cos = new CheckedOutputStream(fileOutputStream, new CRC32());
						ZipOutputStream zipOut = new ZipOutputStream(cos);
					){

					// 取文件 临时目录:pdfFilePath 
					String pdfFilePath = filePath + "/" + userId + "/" + tempFilePath;
					File fileDir = new File(pdfFilePath);
					File[] files = fileDir.listFiles();
					for (File file : files) {
						if(file.isDirectory()){
							file.delete();
							continue;
						}
						try(
								FileInputStream fis = new FileInputStream(file);
								BufferedInputStream bis = new BufferedInputStream(fis);
								){
							ZipEntry entry = new ZipEntry(file.getName());
							zipOut.putNextEntry(entry);
							int count;
							byte[] data = new byte[8192];
							while ((count = bis.read(data, 0, 8192)) != -1) {
								zipOut.write(data, 0, count);
							}
						}
						file.delete();
					}
					zipOut.flush();
					zipOut.close();

					fileDir.delete();
				}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值