java解压rar格式代码
时间: 2023-08-09 07:10:42 浏览: 403
java源码:文件压缩解压缩包 Commons Compress.rar
Java并没有内置支持RAR格式解压缩的API,但是可以使用第三方库来解压缩RAR文件。其中,常用的库有Apache Commons Compress和SevenZipJBinding。
使用Apache Commons Compress库解压RAR文件的示例代码如下:
```java
import org.apache.commons.compress.archivers.ArchiveException;
import org.apache.commons.compress.archivers.ArchiveStreamFactory;
import org.apache.commons.compress.archivers.rar.RarArchiveEntry;
import org.apache.commons.compress.archivers.rar.RarArchiveInputStream;
import java.io.*;
public class UnrarDemo {
public static void main(String[] args) {
File inputFile = new File("example.rar");
File outputFile = new File("output");
try {
RarArchiveInputStream inputStream = new RarArchiveInputStream(new FileInputStream(inputFile));
RarArchiveEntry entry = null;
while ((entry = inputStream.getNextEntry()) != null) {
if (entry.isDirectory()) {
File dir = new File(outputFile, entry.getName());
dir.mkdirs();
} else {
File file = new File(outputFile, entry.getName());
FileOutputStream outputStream = new FileOutputStream(file);
byte[] buffer = new byte[1024];
int length = 0;
while ((length = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, length);
}
outputStream.close();
}
}
inputStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这个示例代码使用RarArchiveInputStream来读取RAR文件中的内容,如果是目录则直接创建,如果是文件则输出到指定文件中。
注意:使用该方法需要在项目中引入Apache Commons Compress的依赖。
另外,SevenZipJBinding也是一个流行的解压缩库,可以用来解压RAR文件。
阅读全文