Java导入压缩包如何解压获取文件
时间: 2023-11-21 07:15:57 浏览: 64
可以使用Java提供的ZipInputStream和ZipEntry类来解压压缩包并获取文件。以下是一个简单的例子:
```java
import java.io.*;
import java.util.zip.*;
public class UnzipExample {
public static void main(String[] args) throws IOException {
String zipFilePath = "example.zip";
String destDirectory = "output";
File destDir = new File(destDirectory);
if (!destDir.exists()) {
destDir.mkdir();
}
byte[] buffer = new byte[1024];
ZipInputStream zis = new ZipInputStream(new FileInputStream(zipFilePath));
ZipEntry zipEntry = zis.getNextEntry();
while (zipEntry != null) {
String fileName = zipEntry.getName();
File newFile = new File(destDirectory + File.separator + fileName);
// create all non-existing directories
new File(newFile.getParent()).mkdirs();
FileOutputStream fos = new FileOutputStream(newFile);
int len;
while ((len = zis.read(buffer)) > 0) {
fos.write(buffer, 0, len);
}
fos.close();
zipEntry = zis.getNextEntry();
}
zis.closeEntry();
zis.close();
}
}
```
在这个例子中,我们首先创建一个ZipInputStream对象来读取压缩包,然后使用getNextEntry方法获取每个文件的ZipEntry对象。我们可以从ZipEntry对象中获取文件名,并创建对应的文件。然后,我们可以使用read方法从ZipInputStream对象中读取文件内容,并写入到创建的文件中。最后,我们需要调用close方法关闭ZipInputStream对象。