不废话直接上代码,基于hutool工具实现的
import cn.hutool.core.util.ReUtil;
import cn.hutool.core.util.ZipUtil;
import java.io.File;
import java.io.InputStream;
import java.net.URL;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;
public class Zip {
public static void main(String[] args) {
List<String> urlList= Stream.of(
"url1",
"url2",
"url3",
"url4",
"url5"
).collect(Collectors.toList());
InputStream[] arr = new InputStream[urlList.size()];
List<InputStream> inputStreamList = new ArrayList<>();
String[] pathArr = new String[urlList.size()];
List<String> pathList = new ArrayList<>();
urlList.forEach(item -> {
InputStream inputStream = null;
try {
URL url = new URL(item);
inputStream = url.openConnection().getInputStream();
inputStreamList.add(inputStream);
pathList.add(ReUtil.delFirst(".*/", url.getPath()));
} catch (Exception e2) {
e2.printStackTrace();
}
});
File zip = ZipUtil.zip(new File("C:\\Users\\Administrator\\Desktop\\" + "*****.zip"),
pathList.toArray(pathArr),
inputStreamList.toArray(arr),
Charset.forName("utf-8")
);
}
}