import java.io.*;
import java.util.zip.*;
public class UnzipFile {
public static void unzip(String zipFilePath, String destDir) {
File dir = new File(destDir);
// create output directory if it doesn't exist
if(!dir.exists()) dir.mkdirs();
try (ZipInputStream zis = new ZipInputStream(new FileInputStream(zipFilePath))) {
ZipEntry ze = zis.getNextEntry();
while(ze != null){
String fileName = ze.getName();
File newFile = new File(destDir + File.separator + fileName);
// create directories for subdirectories in zip
new File(newFile.getParent()).mkdirs();
// if the entry is a file, extracts it
if (!ze.isDirectory()) {
try (FileOutputStream fos = new FileOutputStream(newFile)) {
byte[] buffer = new byte[1024];
int len;
while ((len = zis.read(buffer)) > 0) {
fos.write(buffer, 0, len);
}
}
}
zis.closeEntry();
ze = zis.getNextEntry();
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
String zipFilePath = "path/to/your/zipfile.zip";
String destDir = "path/to/destination/folder";
unzip(zipFilePath, destDir);
}
}
java.io.*
和java.util.zip.*
来处理文件输入输出和ZIP文件解压。ZipInputStream
读取ZIP文件的内容,并逐个处理每个条目(文件或文件夹)。这个程序可以将指定的ZIP文件解压到指定的目标文件夹中。请根据实际情况修改zipFilePath
和destDir
的路径。
上一篇:java object类
下一篇:java自定义异常类
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站