public static boolean decompressionRarFiles(String rarFileName, String extPlace) {
boolean flag = false;
Archive archive = null;
File out = null;
File file = null;
File dir = null;
FileOutputStream os = null;
FileHeader fh = null;
String path, dirPath = "";
try {
file = new File(rarFileName);
archive = new Archive(file);
} catch (RarException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
} finally {
if (file != null) {
file = null;
}
}
if (archive != null) {
try {
fh = archive.nextFileHeader();
while (fh != null) {
path = (extPlace + fh.getFileNameString().trim())
.replaceAll("\\\\", "/");
int end = path.lastIndexOf("/");
if (end != -1) {
dirPath = path.substring(0, end);
}
try {
dir = new File(dirPath);
if (!dir.exists()) {
dir.mkdirs();
}
} catch (RuntimeException e1) {
e1.printStackTrace();
} finally {
if (dir != null) {
dir = null;
}
}
if (fh.isDirectory()) {
fh = archive.nextFileHeader();
continue;
}
out = new File(extPlace + fh.getFileNameString().trim());
try {
os = new FileOutputStream(out);
archive.extractFile(fh, os);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (RarException e) {
e.printStackTrace();
} finally {
if (os != null) {
try {
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (out != null) {
out = null;
}
}
fh = archive.nextFileHeader();
}
} catch (RuntimeException e) {
e.printStackTrace();
} finally {
fh = null;
if (archive != null) {
try {
archive.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
flag = true;
}
return flag;
}
public static void main(String[] args) {
decompressionRarFiles("d:/test/a.rar",
"d:/test/");
}
分享到:
相关推荐
### DOS压缩文件RAR与ZIP的DOS命令详解 在DOS环境下进行文件压缩与解压缩是计算机用户常用的操作之一。本文将详细介绍如何使用DOS命令行来操作RAR和ZIP两种常见的压缩格式。通过掌握这些命令,可以更高效地管理文件...
1. 解压原理:文件解压是压缩的逆过程,它根据压缩文件中的编码信息,恢复原始文件的数据。解压过程需要与压缩时使用的算法相匹配。 2. 易语言中的文件解压:与压缩类似,易语言的文件解压也需要借助外部库或自定义...
轻松破解压缩文件RAR密码教程.pdf
java代码实现单个或多个文件压缩成rar包,本地要安装winRar插件。
轻松破解压缩文件RAR密码教程
这是一款破解压缩文件RAR的工具软件,容易上手,方便,快捷!让你满意.
在日常使用中,我们需要注意保护压缩文件的安全,避免在不安全的网络环境下传输敏感数据,同时定期更新解压工具以获取最新的功能和安全补丁。对于大型文件,合理使用分卷压缩可以方便地管理和传输。总之,理解和掌握...
解压RAR压缩文件类库是编程领域中用于处理RAR文件的工具,允许开发者在应用程序中集成RAR文件的读取和解压功能。下面将详细介绍RAR解压的相关知识点。 一、RAR文件结构 RAR文件内部包含了一个或多个被压缩的文件和...
在Python编程环境中,`rarfile`是一个非常实用的库,用于处理RAR压缩文件。这个库允许我们对RAR格式的文件进行解压缩操作,类似于我们常用的`zipfile`库处理ZIP文件。下面我们将深入探讨`rarfile`库的使用方法、功能...
【标题】"新建 WinRAR 压缩文件.rar" 提示我们这可能是一个使用 WinRAR 软件创建的压缩文件。WinRAR 是一款流行的压缩和解压工具,支持多种压缩格式,如 RAR 和 ZIP。它允许用户将多个文件和文件夹打包成一个单一的...
电脑已安装rar.exe程序 内含解压rar文件和压缩rar文件的bat脚本及使用说明 使用简单 建议直接存在桌面进行解压和压缩操作,只需要修改rar文件名即可
沙漏哦2022-09-16 16:00:57原证Java解压缩文件,尤其对于Rar5.0版本的解压实现 项目描述 junrar已经不再支持Rar5版本的压缩文件。sevenzipjbinding对于Rar5压缩包的解压是调用本地7z软件进行解压的,如果本机环境...
简单破解压缩文件RAR密码教程.pdf
### RAR使用命令行解压RAR与ZIP文件 在日常工作中,我们经常需要对文件进行压缩或解压缩操作。WinRAR作为一款强大的压缩工具,除了提供图形界面外,还支持通过命令行方式进行文件的压缩与解压。本文将详细介绍如何...
简单破解压缩文件RAR密码教程分享.pdf