import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Enumeration;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
// 注意: Java标准库不支持RAR文件解压,需要使用第三方库如Apache Commons Compress或WinRAR命令行工具。
// 这里提供一个使用Apache Commons Compress的示例。
import org.apache.commons.compress.archivers.ArchiveEntry;
import org.apache.commons.compress.archivers.ArchiveInputStream;
import org.apache.commons.compress.archivers.rar.RarArchiveInputStream;
import org.apache.commons.compress.utils.IOUtils;
public class UnrarExample {
public static void unrarFile(String rarFilePath, String outputDirectory) {
File rarFile = new File(rarFilePath);
try (FileInputStream fis = new FileInputStream(rarFile);
RarArchiveInputStream archiveInputStream = new RarArchiveInputStream(fis)) {
ArchiveEntry entry;
while ((entry = archiveInputStream.getNextEntry()) != null) {
File outputFile = new File(outputDirectory, entry.getName());
if (entry.isDirectory()) {
outputFile.mkdirs();
} else {
File parent = outputFile.getParentFile();
if (!parent.exists()) {
parent.mkdirs();
}
try (FileOutputStream fos = new FileOutputStream(outputFile)) {
IOUtils.copy(archiveInputStream, fos);
}
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
String rarFilePath = "path/to/your/file.rar";
String outputDirectory = "path/to/output/directory";
unrarFile(rarFilePath, outputDirectory);
}
}
Apache Commons Compress库来处理RAR文件。unrarFile:该方法接受两个参数,分别是RAR文件路径和输出目录路径。它会遍历RAR文件中的每个条目,并将其解压到指定的输出目录中。main:提供了一个简单的测试用例,指定了RAR文件路径和输出目录路径,并调用unrarFile方法进行解压。Apache Commons Compress库。可以通过Maven或Gradle添加依赖,或者手动下载JAR文件并添加到项目中。上一篇:java解析多层嵌套json
下一篇:java 加密解密工具类
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站