说明:需要一个.dll动态链接库和一个jar包(见附件)。
附原文:
Unrar a RAR Archive
Open a RAR archive and unrar to a directory, recreating the directory tree as present in the RAR.
Note: The Chilkat RAR ActiveX objects are included in the "Chilkat Zip" ActiveX download. The RAR functionality contained within ChilkatZip2.dll is freeware, however, the Chilkat Zip, GZip, and .Z functionality is not freeware.
The Chilkat RAR for .NET and C++ are bundled in downloads that contain all Chilkat classes (both free and non-free). Make sure you select the download that matches your .NET Framework or VC++ version (6/7/8).
If running on x64, download the ActiveX, .NET, or C++ builds marked specifically for x64.
import com.chilkatsoft.*;
public class ChilkatExample {
static {
try {
// 此处很重要:不能出现.dll后缀名,需要将chilkat.dll存放
// 在D:\Program Files\Genuitec\Common\binary
// \com.sun.java.jdk.win32.x86_1.6.0.013\bin等目录下。
// 不然报"no chilkat in java.library.path"错误
System.loadLibrary("chilkat");
} catch (UnsatisfiedLinkError e) {
System.err.println("Native code library failed to load.\n" + e);
System.exit(1);
}
}
public static void main(String argv[])
{
CkRar rar = new CkRar();
// Note: The Chilkat RAR functionality only provides the ability
// to open, list, and "unrar" (i.e. extract) RAR archives. It does
// not provide the ability to create RAR archives.
// (只提供打开、浏览和解压rar文件,不能创建rar文件)。
// Also, the Chilkat RAR functionality is free. It does not
// require a license to use indefinitely.(免费使用)
boolean success;
//rar.Open(filepath); filepath是需要解压的文件的完整路径和文件名。
success = rar.Open("abc123.rar");
if (success != true) {
System.out.println(rar.lastErrorText());
return;
}
//解压输出目录,此处为直接解压,类似于winrar的解压到当前文件夹。
//如果目录文件夹不存在,不要事先创建。
success = rar.Unrar("c:/temp/unrarDest/");
if (success != true) {
System.out.println(rar.lastErrorText());
}
else {
System.out.println("Success.");
}
}
}
-------
Open RAR Archive and List Contents
Demonstrates how to open a RAR archive and list the contents.
Note: The Chilkat RAR ActiveX objects are included in the "Chilkat Zip" ActiveX download. The RAR functionality contained within ChilkatZip2.dll is freeware, however, the Chilkat Zip, GZip, and .Z functionality is not freeware.
The Chilkat RAR for .NET and C++ are bundled in downloads that contain all Chilkat classes (both free and non-free). Make sure you select the download that matches your .NET Framework or VC++ version (6/7/8).
If running on x64, download the ActiveX, .NET, or C++ builds marked specifically for x64.
import com.chilkatsoft.*;
public class ChilkatExample {
static {
try {
System.loadLibrary("chilkat");
} catch (UnsatisfiedLinkError e) {
System.err.println("Native code library failed to load.\n" + e);
System.exit(1);
}
}
public static void main(String argv[])
{
CkRar rar = new CkRar();
// Note: The Chilkat RAR functionality only provides the ability
// to open, list, and "unrar" (i.e. extract) RAR archives. It does
// not provide the ability to create RAR archives.
// Also, the Chilkat RAR functionality is free. It does not
// require a license to use indefinitely.
boolean success;
success = rar.Open("abc123.rar");
if (success != true) {
System.out.println(rar.lastErrorText());
return;
}
int n;
int i;
n = (int) rar.get_NumEntries();
for (i = 0; i <= n - 1; i++) {
CkRarEntry entry;
entry = rar.GetEntryByIndex(i);
System.out.println(entry.filename());
System.out.println(entry.get_UncompressedSize());
System.out.println(entry.get_CompressedSize());
if (entry.get_IsDirectory() == true) {
System.out.println("(directory)");
}
if (entry.get_IsReadOnly() == true) {
System.out.println("(read-only)");
}
System.out.println("----");
}
}
}
附:
System.load 和 System.loadLibrary详解
http://freesoftman.iteye.com/blog/425657
--------------
原文引自:
http://www.example-code.com/java/rar_unrar.asphttp://www.example-code.com/java/rar_list.asp
---------------
附件:Download Chilkat Java Library
分享到:
相关推荐
在Java编程环境中,解压RAR文件是一项常见的任务,...总的来说,Java解压缩RAR文件涉及到第三方库的使用,理解并正确调用解压工具,以及处理可能出现的异常情况。在实际开发中,应根据项目需求和环境选择合适的方法。
基于JAVA压缩及解压缩RAR文件,可带密码
java rar解压工具类 // 第一个参数是需要解压的压缩包路径,第二个参数参考JdkAPI文档的RandomAccessFile //r代表以只读的方式打开文本,也就意味着不能用write来操作文件
java解压缩 rar 以及 zip 格式文件
在Java编程环境中,解压缩ZIP或RAR格式的文件是一项常见的任务,这主要涉及到I/O流、文件操作以及压缩和解压缩库的使用。本篇将深入讲解如何在Java中实现这个功能,同时会介绍一些相关的工具和源码。 首先,对于ZIP...
Java 解压缩 RAR 文件 Java 解压缩 RAR 文件是指使用 Java 语言来解压缩 RAR 文件的过程。RAR 文件是一种常见的压缩文件格式,它可以将多个文件压缩成一个文件,以便于存储和传输。 在解压缩 RAR 文件时,需要使用...
你需要将`rarFilePath`替换为RAR文件的实际路径,`password`替换为RAR文件的密码,`outputDirectory`替换为你希望解压缩文件的目标目录。 为了在Windows和Linux上都能运行这段代码,确保你的项目构建是跨平台的,...
(Java毕业设计)JAVA文件压缩与解压缩实践(Java毕业设计)JAVA文件压缩与解压缩实践(Java毕业设计)JAVA文件压缩与解压缩实践(Java毕业设计)JAVA文件压缩与解压缩实践(Java毕业设计)JAVA文件压缩与解压缩实践(Java毕业...
适合练手、课程设计、毕业设计的Java项目源码:文件压缩与解压缩实践(源代码+论文).rar 适合练手、课程设计、毕业设计的Java项目源码:文件压缩与解压缩实践(源代码+论文).rar 适合练手、课程设计、毕业设计的Java...
沙漏哦2022-09-16 16:00:57原证Java解压缩文件,尤其对于Rar5.0版本的解压实现 项目描述 junrar已经不再支持Rar5版本的压缩文件。sevenzipjbinding对于Rar5压缩包的解压是调用本地7z软件进行解压的,如果本机环境...
在本篇文章中,我们将探讨 Java 解压缩文件的操作,包括解压缩 ZIP 和 JAR 文件,并讨论如何使用 Java 解压缩 RAR 文件。 解压缩 ZIP 和 JAR 文件 ZIP 和 JAR 文件是两种常见的压缩文件格式,Java 提供了 ...
本文将详细介绍标题和描述中提到的几个关键知识点:Java中的zip、rar(包括处理带密码的RAR文件)、gz压缩,以及FTP工具类的使用。 1. **Java ZIP压缩与解压缩**: Java内置的`java.util.zip`包提供了处理ZIP文件...
在提供的代码中,可以看到使用了`de.innosystec.unrar.Archive`类来解压缩RAR文件,但请注意,这个库可能需要额外的授权。 ```java Archive archive = new Archive(new File("input.rar")); archive.extractAll(...
JAVA文件压缩与解压缩实践(源代码+论文) JAVA文件压缩与解压缩实践(源代码+论文) JAVA文件压缩与解压缩实践(源代码+论文) JAVA文件压缩与解压缩实践(源代码+论文) JAVA文件压缩与解压缩实践(源代码+论文) JAVA文件...
在解压缩"jdk1.8_161"这个文件后,您将得到Java 8的安装包。根据您的操作系统(Windows、Linux或macOS),您需要按照相应的步骤配置环境变量,确保系统能够识别和使用Java 8。例如,在Windows上,您可能需要设置`...
3. **解压缩RAR**:使用`org.apache.commons.compress.archivers.rar.RarArchiveInputStream`来读取RAR文件并解压其内容。这通常涉及遍历所有条目并将其写入目标目录: ```java import org.apache.commons....
### Java对ZIP、RAR文件的压缩与解压缩技术解析 #### 概述 在实际开发过程中,文件的压缩与解压缩是一项非常常见的需求。本文将详细介绍如何使用Java语言实现ZIP和RAR格式文件的压缩与解压缩操作。文章通过具体的...
对于RAR文件,Java标准库并不直接支持RAR格式,因此需要借助第三方库,如Apache Commons Compress。Apache Commons Compress库提供了对多种压缩格式的支持,包括RAR。以下是一个使用此库进行RAR解压缩的示例: ```...