在 Java 中要实现解压 rar5
并兼容 rar4
格式的文件,通常需要使用第三方库。其中,比较常用的是 JUnrar
库。
以下是一个简单的示例代码,展示如何使用 JUnrar
库来解压 rar
文件:
首先,确保您已经在项目中添加了 JUnrar
库的依赖。
import com.github.junrar.Archive; import com.github.junrar.exception.RarException; import com.github.junrar.rarfile.FileHeader; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; public class UnrarExample { public static void main(String[] args) { String rarFilePath = "/yourPath/yourRarFile.rar"; // 替换为实际的 rar 文件路径 String destinationPath = "/yourDestinationPath"; // 替换为解压的目标路径 unrarFile(rarFilePath, destinationPath); } public static void unrarFile(String rarFilePath, String destinationPath) { try { Archive archive = new Archive(new File(rarFilePath)); FileHeader fileHeader; while ((fileHeader = archive.nextFileHeader())!= null) { if (!fileHeader.isDirectory()) { String fileName = fileHeader.getFileNameString(); File destinationFile = new File(destinationPath + File.separator + fileName); destinationFile.getParentFile().mkdirs(); try (FileOutputStream fos = new FileOutputStream(destinationFile)) { archive.extractFile(fileHeader, fos); } catch (IOException e) { e.printStackTrace(); } } } archive.close(); } catch (RarException | IOException e) { e.printStackTrace(); } } }
请注意,上述代码中的路径需要您根据实际情况进行替换。
另外,还可以考虑使用其他的库,如 Apache Commons Compress
,但可能需要更多的配置和处理来实现对 rar5
和 rar4
的兼容解压。