Java解压zip文件
时间: 2023-08-31 10:10:15 浏览: 155
Java提供了java.util.zip包来处理zip文件的压缩和解压缩操作。以下是一个简单的Java代码示例,用于解压zip文件:
```java
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
public class UnzipDemo {
public static void main(String[] args) {
String zipFilePath = "path/to/zip/file.zip";
String destDirectory = "path/to/destination/directory";
unzip(zipFilePath, destDirectory);
}
private static void unzip(String zipFilePath, String destDirectory) {
File destDir = new File(destDirectory);
if (!destDir.exists()) {
destDir.mkdir();
}
try (ZipInputStream zipIn = new ZipInputStream(new FileInputStream(zipFilePath))) {
ZipEntry entry = zipIn.getNextEntry();
while (entry != null) {
String filePath = destDirectory + File.separator + entry.getName();
if (!entry.isDirectory()) {
extractFile(zipIn, filePath);
} else {
File dir = new File(filePath);
dir.mkdir();
}
zipIn.closeEntry();
entry = zipIn.getNextEntry();
}
} catch (IOException e) {
e.printStackTrace();
}
}
private static void extractFile(ZipInputStream zipIn, String filePath) throws IOException {
try (FileOutputStream fos = new FileOutputStream(filePath)) {
byte[] bytes = new byte[1024];
int length;
while ((length = zipIn.read(bytes)) > 0) {
fos.write(bytes, 0, length);
}
}
}
}
```
您需要将`zipFilePath`和`destDirectory`替换为您自己的路径。该示例将解压缩`zipFilePath`中的内容到`destDirectory`目录中。`unzip`方法遍历zip文件中的所有条目并将它们解压缩到目标目录中。`extractFile`方法将单个文件从zip文件中提取出来,并将其保存到磁盘上。
阅读全文