此工具只返回创建的临时文件
public class ZipUtils {
public static File zipFiles(List<InputStream> inputs, String zipName) throws IOException {
//定义打包输出流
ZipOutputStream zipOutputStream = null;
//临时文件
File tempFile = null;
//定义文件输出流
FileOutputStream fileOutputStream = null;
try {
//创建临时文件
tempFile = File.createTempFile(zipName+"-", ".zip");
//以下是数据流写入临时文件中
fileOutputStream = new FileOutputStream(tempFile);
zipOutputStream = new ZipOutputStream(fileOutputStream);
for (int i = 0; i < inputs.size(); i++) {
ZipEntry zipEntry = new ZipEntry("压缩包中的每个文件的名称"+".pdf");// 压缩包中的每个文件的名称
zipOutputStream.putNextEntry(zipEntry);
int len;
byte[] buffer = new byte[1024];
//写入输出流
while ((len = inputs.get(i).read(buffer)) > 0) {
zipOutputStream.write(buffer, 0, len);
}
//关闭流
inputs.get(i).close();
}
} catch (IOException e) {
logger.error("BidContractService zipFiles-error:", e);
throw e;
}finally {
if (zipOutputStream != null) {
zipOutputStream.closeEntry();
zipOutputStream.close();
}
if (fileOutputStream != null) {
fileOutputStream.close();
}
}
return tempFile;
}
}