java解压压缩文件,解压.zip,.tar,rar
时间: 2023-05-13 21:01:12 浏览: 180
Java可以通过java.util.zip包中的类来解压.zip文件,通过Apache Commons Compress库来处理.tar和.rar文件。
对于.zip文件,可以使用以下代码:
```java
try (ZipInputStream zis = new ZipInputStream(new FileInputStream("example.zip"))) {
ZipEntry entry = zis.getNextEntry();
while (entry != null) {
// 处理每一个压缩文件
String fileName = entry.getName();
File newFile = new File(fileName);
FileOutputStream fos = new FileOutputStream(newFile);
byte[] buffer = new byte[1024];
int len;
while ((len = zis.read(buffer)) > 0) {
fos.write(buffer, 0, len);
}
fos.close();
entry = zis.getNextEntry();
}
} catch (IOException e) {
e.printStackTrace();
}
```
对于.tar和.rar文件,可以使用以下代码:
```java
try (ArchiveInputStream ais = new ArchiveStreamFactory()
.createArchiveInputStream("tar", new FileInputStream("example.tar"))) {
ArchiveEntry entry = ais.getNextEntry();
while (entry != null) {
// 处理每一个压缩文件
String fileName = entry.getName();
File newFile = new File(fileName);
FileOutputStream fos = new FileOutputStream(newFile);
byte[] buffer = new byte[1024];
int len;
while ((len = ais.read(buffer)) > 0) {
fos.write(buffer, 0, len);
}
fos.close();
entry = ais.getNextEntry();
}
} catch (IOException | ArchiveException e) {
e.printStackTrace();
}
```
需要注意的是,解压.rar文件需要安装原生解压软件并在系统环境变量中配置rar.exe的路径。
阅读全文