Java 解压 RAR 格式文件:三种常用方法
Java 本身不支持 RAR 格式的解压操作,需要使用第三方库或软件进行解压。其中,比较常用的有以下几种方法:
- 使用 WinRAR 命令行工具进行解压。通过 Java 的 Runtime 类调用 WinRAR 命令行工具,实现 RAR 格式的解压。具体操作可参考以下代码:
String rarFilePath = 'D:\test.rar';
String destPath = 'D:\';
Runtime.getRuntime().exec('cmd /c start winrar x ' + rarFilePath + ' ' + destPath);
- 使用 SevenZip 库进行解压。SevenZip 是一个开源的压缩文件操作库,支持多种压缩格式,包括 RAR 格式。可通过以下代码示例进行解压:
SevenZipExtractor extractor = new SevenZipExtractor(new File('D:\test.rar'));
extractor.extractArchive(new File('D:\'));
需要注意的是,使用 SevenZip 进行解压需要引入相应的依赖库。
- 使用 Apache Commons Compress 库进行解压。Apache Commons Compress 是一个广泛应用的压缩文件库,支持多种压缩格式,包括 RAR 格式。可通过以下代码示例进行解压:
FileInputStream inputStream = new FileInputStream('D:\test.rar');
ArchiveInputStream archiveInputStream = new ArchiveStreamFactory().createArchiveInputStream('rar', inputStream);
ArchiveEntry entry = null;
while ((entry = archiveInputStream.getNextEntry()) != null) {
File destFile = new File('D:\' + entry.getName());
FileOutputStream outputStream = new FileOutputStream(destFile);
IOUtils.copy(archiveInputStream, outputStream);
outputStream.close();
}
archiveInputStream.close();
需要注意的是,使用 Apache Commons Compress 进行解压需要引入相应的依赖库。
原文地址: https://www.cveoy.top/t/topic/opf5 著作权归作者所有。请勿转载和采集!