package com.dji.sample.media.util;
|
|
import javax.imageio.ImageIO;
|
import java.awt.image.BufferedImage;
|
import java.io.File;
|
import java.io.FileInputStream;
|
import java.io.FileOutputStream;
|
import java.io.IOException;
|
import java.net.URL;
|
import java.util.List;
|
import java.util.Objects;
|
import java.util.zip.ZipEntry;
|
import java.util.zip.ZipOutputStream;
|
|
public class UnZipPhotoUtil {
|
|
public static void downloadAndSaveImages(List<String> urls, String outputFolder) throws IOException {
|
int count = 0;
|
for (String imageUrl : urls) {
|
try {
|
// 下载图片
|
URL url = new URL(imageUrl);
|
BufferedImage image = ImageIO.read(url);
|
|
// 保存图片
|
File outputfile = new File(outputFolder, "image_" + (count++) + ".jpg");
|
ImageIO.write(image, "jpg", outputfile);
|
System.out.println("Saved: " + outputfile.getAbsolutePath());
|
} catch (IOException e) {
|
System.err.println("Failed to download image: " + imageUrl);
|
e.printStackTrace();
|
throw e;
|
}
|
}
|
}
|
|
public static void zipFolder(String srcFolder, String destZipFile) throws IOException {
|
try (FileOutputStream fos = new FileOutputStream(destZipFile);
|
ZipOutputStream zos = new ZipOutputStream(fos)) {
|
|
File srcFile = new File(srcFolder);
|
for (File file : Objects.requireNonNull(srcFile.listFiles())) {
|
try (FileInputStream fis = new FileInputStream(file)) {
|
ZipEntry zipEntry = new ZipEntry(file.getName());
|
zos.putNextEntry(zipEntry);
|
|
byte[] bytes = new byte[1024];
|
int length;
|
while ((length = fis.read(bytes)) >= 0) {
|
zos.write(bytes, 0, length);
|
}
|
zos.closeEntry();
|
} catch (IOException e) {
|
System.err.println("Failed to zip file: " + file.getPath());
|
e.printStackTrace();
|
throw e;
|
}
|
}
|
}
|
}
|
|
public static void cleanUp(String folderName) {
|
File folder = new File(folderName);
|
deleteFolder(folder);
|
}
|
|
public static void deleteFolder(File folder) {
|
File[] files = folder.listFiles();
|
if (files != null) {
|
for (File f : files) {
|
if (f.isDirectory()) {
|
deleteFolder(f);
|
} else {
|
f.delete();
|
}
|
}
|
}
|
folder.delete();
|
}
|
}
|