java 解压rar 5版本
时间: 2023-08-09 13:11:25 浏览: 206
java解压缩rar
3星 · 编辑精心推荐
Java解压RAR 5版本需要使用第三方库,比如junrar、SevenZipJBinding等。
以下是使用junrar库解压RAR 5文件的示例代码:
```java
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import com.github.junrar.Archive;
import com.github.junrar.exception.RarException;
import com.github.junrar.impl.FileVolumeManager;
import com.github.junrar.rarfile.FileHeader;
public class RarExtractor {
public static void main(String[] args) throws RarException, IOException {
String rarFilePath = "path/to/rar/file.rar";
String outputFolder = "path/to/output/folder";
File rarFile = new File(rarFilePath);
File outputDir = new File(outputFolder);
if (!outputDir.exists()) {
outputDir.mkdirs();
}
Archive archive = new Archive(new FileVolumeManager(rarFile));
FileHeader fileHeader = archive.nextFileHeader();
while (fileHeader != null) {
String fileName = fileHeader.getFileNameString().trim();
if (fileHeader.isDirectory()) {
new File(outputDir, fileName).mkdirs();
} else {
File file = new File(outputDir, fileName);
OutputStream outputStream = new FileOutputStream(file);
archive.extractFile(fileHeader, outputStream);
outputStream.close();
}
fileHeader = archive.nextFileHeader();
}
archive.close();
}
}
```
这段代码使用了junrar库来打开RAR文件,并逐个提取其中的文件和目录。如果文件头是目录,则创建一个新目录;否则,将文件的内容提取到指定的输出目录中。注意,这段代码只是一个示例,需要根据实际情况进行修改和调整。
阅读全文