java解压zip到当前文件夹
时间: 2023-08-05 15:36:34 浏览: 255
你可以使用Java中的ZipInputStream和FileOutputStream来解压缩zip文件到当前文件夹。以下是一个简单的示例代码:
```java
import java.io.*;
import java.util.zip.*;
public class UnzipFile {
public static void main(String[] args) throws IOException {
String zipFilePath = "example.zip";
String destDirectory = "./";
// 创建解压目录
File destDir = new File(destDirectory);
if (!destDir.exists()) {
destDir.mkdir();
}
// 创建ZipInputStream对象
ZipInputStream zipIn = new ZipInputStream(new FileInputStream(zipFilePath));
// 读取Zip文件中的所有条目
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();
}
// 关闭ZipInputStream
zipIn.close();
}
private static void extractFile(ZipInputStream zipIn, String filePath) throws IOException {
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(filePath));
byte[] bytesIn = new byte[4096];
int read = 0;
while ((read = zipIn.read(bytesIn)) != -1) {
bos.write(bytesIn, 0, read);
}
bos.close();
}
}
```
在此代码中,我们打开一个ZipInputStream对象并读取zip文件中的所有条目。如果一个条目是文件,我们调用`extractFile`方法来解压缩文件到当前文件夹。如果一个条目是目录,我们创建一个目录。最后,我们关闭ZipInputStream对象。
阅读全文