ZipFile 解压 java
时间: 2023-07-19 11:24:11 浏览: 48
在Java中,可以使用`java.util.zip.ZipFile`类来解压Zip文件。以下是一个简单的示例代码:
```java
import java.io.*;
import java.util.zip.*;
public class UnzipExample {
public static void main(String[] args) {
String zipFilePath = "path/to/zip/file.zip";
String destDirPath = "path/to/destination/directory";
try {
// 创建ZipFile对象
ZipFile zipFile = new ZipFile(zipFilePath);
// 枚举Zip文件中所有的条目
Enumeration<?> entries = zipFile.entries();
// 遍历条目并解压
while (entries.hasMoreElements()) {
ZipEntry entry = (ZipEntry) entries.nextElement();
// 如果是目录,则创建目录
if (entry.isDirectory()) {
File dir = new File(destDirPath, entry.getName());
dir.mkdirs();
} else {
// 如果是文件,则创建文件并写入数据
File file = new File(destDirPath, entry.getName());
FileOutputStream fos = new FileOutputStream(file);
InputStream is = zipFile.getInputStream(entry);
byte[] buffer = new byte[1024];
int length;
while ((length = is.read(buffer)) > 0) {
fos.write(buffer, 0, length);
}
is.close();
fos.close();
}
}
// 关闭ZipFile对象
zipFile.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在上面的代码中,需要设置`zipFilePath`为要解压的Zip文件的路径,`destDirPath`为解压后的文件存放目录的路径。在`main()`方法中,创建一个ZipFile对象,然后使用`entries()`方法获取Zip文件中所有的条目,遍历每个条目,如果是目录,则创建目录;如果是文件,则创建文件并写入数据。最后,关闭ZipFile对象以释放资源。