junrar 压缩文件
时间: 2024-05-12 22:13:19 浏览: 52
java 解压缩文件的实现示例,支持 rar 和 zip 格式
如果你需要在 Java 中解压缩 RAR 文件,可以使用 junrar 库。下面是一个简单的示例代码:
```java
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
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 UnrarExample {
public static void main(String[] args) {
String rarFilePath = "path/to/rar/file.rar";
String outputFolder = "path/to/output/folder";
try {
Archive archive = new Archive(new FileVolumeManager(new File(rarFilePath)));
FileHeader fileHeader = archive.nextFileHeader();
while (fileHeader != null) {
String fileName = fileHeader.getFileNameString().trim();
String outputPath = outputFolder + "/" + fileName;
if (!fileHeader.isDirectory()) {
FileOutputStream outputStream = new FileOutputStream(outputPath);
archive.extractFile(fileHeader, outputStream);
outputStream.close();
System.out.println("Extracted file: " + fileName);
} else {
File directory = new File(outputPath);
directory.mkdirs();
System.out.println("Created directory: " + fileName);
}
fileHeader = archive.nextFileHeader();
}
archive.close();
} catch (IOException | RarException e) {
e.printStackTrace();
}
}
}
```
这个示例代码使用 `Archive` 类打开 RAR 文件,然后逐个解压缩其中的文件或目录,并保存到指定的输出文件夹中。如果需要处理其他的压缩文件格式,可以使用其他的类库,比如 Apache Commons Compress。
阅读全文