`
xiatiaohcx
  • 浏览: 32552 次
  • 性别: Icon_minigender_1
  • 来自: 山西
社区版块
存档分类
最新评论

解压文件rar

OS 
阅读更多
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压缩文件RAR与ZIP的DOS命令详解 在DOS环境下进行文件压缩与解压缩是计算机用户常用的操作之一。本文将详细介绍如何使用DOS命令行来操作RAR和ZIP两种常见的压缩格式。通过掌握这些命令,可以更高效地管理文件...

    易语言模块文件压缩解压.rar

    1. 解压原理:文件解压是压缩的逆过程,它根据压缩文件中的编码信息,恢复原始文件的数据。解压过程需要与压缩时使用的算法相匹配。 2. 易语言中的文件解压:与压缩类似,易语言的文件解压也需要借助外部库或自定义...

    轻松破解压缩文件RAR密码教程.pdf

    轻松破解压缩文件RAR密码教程.pdf

    java代码实现单个或多个文件压缩成rar包

    java代码实现单个或多个文件压缩成rar包,本地要安装winRar插件。

    轻松破解压缩文件RAR密码教程

    轻松破解压缩文件RAR密码教程

    破解压缩文件RAR的工具软件

    这是一款破解压缩文件RAR的工具软件,容易上手,方便,快捷!让你满意.

    完整版文件压缩解压.rar

    在日常使用中,我们需要注意保护压缩文件的安全,避免在不安全的网络环境下传输敏感数据,同时定期更新解压工具以获取最新的功能和安全补丁。对于大型文件,合理使用分卷压缩可以方便地管理和传输。总之,理解和掌握...

    解压rar压缩文件类库

    解压RAR压缩文件类库是编程领域中用于处理RAR文件的工具,允许开发者在应用程序中集成RAR文件的读取和解压功能。下面将详细介绍RAR解压的相关知识点。 一、RAR文件结构 RAR文件内部包含了一个或多个被压缩的文件和...

    rarfile解压缩文件rar

    在Python编程环境中,`rarfile`是一个非常实用的库,用于处理RAR压缩文件。这个库允许我们对RAR格式的文件进行解压缩操作,类似于我们常用的`zipfile`库处理ZIP文件。下面我们将深入探讨`rarfile`库的使用方法、功能...

    (新建 WinRAR 压缩文件.rar

    【标题】"新建 WinRAR 压缩文件.rar" 提示我们这可能是一个使用 WinRAR 软件创建的压缩文件。WinRAR 是一款流行的压缩和解压工具,支持多种压缩格式,如 RAR 和 ZIP。它允许用户将多个文件和文件夹打包成一个单一的...

    快速解压和压缩rar文件【bat脚本】

    电脑已安装rar.exe程序 内含解压rar文件和压缩rar文件的bat脚本及使用说明 使用简单 建议直接存在桌面进行解压和压缩操作,只需要修改rar文件名即可

    Java解压缩文件,尤其对于Rar5.0版本的解压实现.zip

    沙漏哦2022-09-16 16:00:57原证Java解压缩文件,尤其对于Rar5.0版本的解压实现 项目描述 junrar已经不再支持Rar5版本的压缩文件。sevenzipjbinding对于Rar5压缩包的解压是调用本地7z软件进行解压的,如果本机环境...

    简单破解压缩文件RAR密码教程.pdf

    简单破解压缩文件RAR密码教程.pdf

    RAR使用命令行解压rar\zip文件

    ### RAR使用命令行解压RAR与ZIP文件 在日常工作中,我们经常需要对文件进行压缩或解压缩操作。WinRAR作为一款强大的压缩工具,除了提供图形界面外,还支持通过命令行方式进行文件的压缩与解压。本文将详细介绍如何...

    简单破解压缩文件RAR密码教程分享.pdf

    简单破解压缩文件RAR密码教程分享.pdf

Global site tag (gtag.js) - Google Analytics