java解压zip
时间: 2023-07-01 16:28:23 浏览: 57
在 Java 中解压 ZIP 文件可以使用 Java.util.zip 包中的 ZipInputStream 类。以下是一个简单的示例代码:
```
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
public class UnzipExample {
public static void main(String[] args) {
String zipFilePath = "path/to/zip/file.zip";
String destDirPath = "path/to/destination/directory";
try {
// 创建 ZipInputStream 对象
ZipInputStream zipIn = new ZipInputStream(new FileInputStream(zipFilePath));
// 获取 ZIP 文件中的条目
ZipEntry entry = zipIn.getNextEntry();
// 逐个条目进行解压
while (entry != null) {
String filePath = destDirPath + File.separator + entry.getName();
if (!entry.isDirectory()) {
// 如果条目是文件,则将其解压到目标目录
extractFile(zipIn, filePath);
} else {
// 如果条目是目录,则创建对应的目录
File dir = new File(filePath);
dir.mkdir();
}
zipIn.closeEntry();
// 获取下一个条目
entry = zipIn.getNextEntry();
}
// 关闭 ZipInputStream 对象
zipIn.close();
System.out.println("ZIP 文件解压完成!");
} catch (Exception e) {
e.printStackTrace();
}
}
private static void extractFile(ZipInputStream zipIn, String filePath) throws Exception {
byte[] buffer = new byte[1024];
FileOutputStream fos = new FileOutputStream(filePath);
int len;
while ((len = zipIn.read(buffer)) > 0) {
fos.write(buffer, 0, len);
}
fos.close();
}
}
```
在这个示例代码中,我们首先创建了一个 ZipInputStream 对象,并使用它获取 ZIP 文件中的条目。然后,逐个条目进行解压,如果条目是文件,则将其解压到指定的目录中;如果条目是目录,则创建对应的目录。最后,关闭 ZipInputStream 对象。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)