![](/api/file/getImage?fileId=5e17d5b016199b501c00168a)
## 前言
之前实现过一版Java的zip
链接:[https://leanote.zzzmh.cn/blog/post/5cac404e16199b2e40000035](https://leanote.zzzmh.cn/blog/post/5cac404e16199b2e40000035)
之前这一版针对的是文件或者文件夹,压缩成Zip压缩包。
这个和服务器上在线生成压缩包的需求有点出入。
服务器上的内容是存数据库的,如果要先产生一个`临时文件`,
再压缩成Zip,就会产生很多临时文件,需要在写清理脚本,设计上不合理。
在研究了Java8内置的zip包后,发现其实他本质就是一个`OutputStream`
所以理论上其实可以直接把String作为文本的内容压到Zip中的文件里,文件的路径和文件名都可以按需求指定
## 代码
```java
import java.io.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
/**
* @author zmh
* @date 2020-01-07
*