Files
jsowell-charger-web/jsowell-common/src/main/java/com/jsowell/common/util/ZipUtil.java
2023-07-07 08:11:18 +08:00

53 lines
1.8 KiB
Java

package com.jsowell.common.util;
import com.google.common.collect.Lists;
import org.apache.commons.collections4.CollectionUtils;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.List;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class ZipUtil {
public static File createZipFileFromImages(List<String> imageUrls) {
if (CollectionUtils.isEmpty(imageUrls)) {
return null;
}
File zipFile = new File("images.zip");
try (FileOutputStream fos = new FileOutputStream(zipFile); ZipOutputStream zos = new ZipOutputStream(fos)) {
for (int i = 0; i < imageUrls.size(); i++) {
String imageUrl = imageUrls.get(i);
URL url = new URL(imageUrl);
InputStream is = url.openStream();
ZipEntry zipEntry = new ZipEntry("image" + i + ".jpg");
zos.putNextEntry(zipEntry);
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = is.read(buffer)) != -1) {
zos.write(buffer, 0, bytesRead);
}
is.close();
zos.closeEntry();
}
} catch (IOException ignored) {
}
return zipFile;
}
public static void main(String[] args) {
List<String> list = Lists.newArrayList();
list.add("https://img.jsowellcloud.com/img/2023/06/09/tmp_063ba486f06c7fbf7b7dad64ad06672a_20230609090728A002.jpg");
list.add("https://img.jsowellcloud.com/img/2023/06/09/tmp_37828a90cc20d4b7fcbc6f62e1d2c729_20230609090658A001.jpg");
File zipFileFromImages = ZipUtil.createZipFileFromImages(list);
System.out.println(zipFileFromImages);
}
}