文件压缩工具类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/**
* 将拉取的文件打包为zip
* @param filePathList 文件路径列表
* @param savePath 保存路径
* @param zipName zip名称
* @return zip路径
*/
public String generateZip(ArrayList<String>filePathList,String savePath,String zipName) throws IOException{
String zipPath=savePath+"/"+zipName;
File zip =new File(zipPath);
FileOutputStream outputStream=new FileOutputStream(zip);
ZipOutputStream out =new ZipOutputStream(outputStream);
filePathList.forEach(row->{
//要压缩的单个文件路径
String oneFilePath = row;
File inputFile = new File(oneFilePath);
//生成zip包中的zip实体
ZipEntry zipEntry=new ZipEntry(inputFile.getName());
try {
byte[] buffer = new byte[1024];
FileInputStream fileInputStream=new FileInputStream(oneFilePath);
out.putNextEntry(zipEntry);
int len;
//读入需要下载的文件的内容,打包到zip文件
while ((len = fileInputStream.read(buffer)) != -1) {
out.write(buffer, 0, len);
}
fileInputStream.close();
}catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
});
out.closeEntry();
out.close();
return zipPath;
}
打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2018-2020 丁振莹
  • 访问人数: | 浏览次数:

你的每一分支持,是我努力下去的最大的力量 ٩(๑❛ᴗ❛๑)۶

支付宝
微信