服务器打包zip文件下载
@Controller
public class OuputStreamTest {
@RequestMapping("/out")
public void out(HttpServletResponse response) throws IOException {
String path = System.getProperty("user.dir");
File file1 = new File(path + "/src/main/resources/1.txt");
File file2 = new File(path + "/src/main/resources/2.txt");
List<File> fileList = new ArrayList<>();
fileList.add(file1);
fileList.add(file2);
InputStream in1 = new FileInputStream(file1);
InputStream in2 = new FileInputStream(file2);
List<InputStream> inputList= new ArrayList<>();
inputList.add(in1);
inputList.add(in2);
ServletOutputStream outputStream = response.getOutputStream();
ZipOutputStream zipOutputStream = new ZipOutputStream(outputStream);
int i=0;
for (InputStream inputStream : inputList) {
byte[] buf = new byte[1024];
int len = buf.length;
while ((len = inputStream.read(buf, 0, len)) != -1) {
ZipEntry zipEntry = new ZipEntry(fileList.get(i).getName());
zipOutputStream.putNextEntry(zipEntry);
zipOutputStream.write(buf, 0, len);
}
i++;
}
zipOutputStream.close();
}
}