导航:首页 > 编程语言 > winrarjava

winrarjava

发布时间:2023-05-31 03:56:35

⑴ 怎么用java解压winrar加密的zip包(不要调用winrar的命令)

文件中数据冗余的最简单的类型是"字符的复制"。让我们先来看下面一个字符串:

JJJJJJAAAAVVVVAAAAAA

这个字符串可以用更简洁的方式来编码,那就是通过替换每一个重复的字符串为单个的实例字符加上记录重复次数的数字来表示,上面的字符串可以被编码为下面的形式:6J4A4V6A

在这里,"6J"意味着6个字符J,"4A"意味着4个字符A,以此类推。这种字符串压缩方式称为"行程长度编码"方式,简称RLE。

再举一个例子,考虑一下矩形图像的存储。一个单色位图,可以被存储为下面这种形式。

另外一种方式是将图像存为一个图元文件:

Rectangle 11, 3, 20, 5

上面的表示方法是讲矩形的起始坐标是(11,3),宽度是20,高度是5。

上述的矩形图像可以使用RLE编码方式压缩,通过对相同位记数表示如下:

0, 40

0, 40

0,10 1,20 0,10

0,10 1,1 0,18 1,1 0,10

0,10 1,1 0,18 1,1 0,10

0,10 1,1 0,18 1,1 0,10

0,10 1,20 0,10

0,40

上面第一行是讲图像的第一行由40个0组成。第三行是迟宽行讲图像的第三行是由10个0加上20个1再加上10个0组成,其它行以此类推。

大家注意,RLE方法需要将其表示的文件与编码文件分开。所以,这种方法不能应用于所有的文件。其它的压缩技术包括变长编码(也被称为哈夫曼编码),还有其它的方法。要想了解更详细的信息,请参考有关数据和图像压缩技术方面的图书,一定会有收获的。

数据压缩有很多益处。不管怎么说,最主要的好处就是减少存储方面的需求。同样的,对于数据通信来讲,压缩数据在媒体中的将导致信息传输数据的提升。数据的压缩能够通过软件在现有的硬件设备上实现或者通过带有压缩技术的特殊的硬件设备来实现。

ZIP VS GZIP

如果你是在Windows系统下工作,你可能会对工具WinZip很熟悉,是用来创建压缩档案和解开压缩档案的。而在UNIX平台上,会有一些不同,命令tar用来创建一个档案文件(并不压缩),其它的程序(gzip或compress)用来创建一个压缩档案。

WinZip和PkZip之类的工具同时扮演着归档和压缩两个角色。他们将文件压缩并将其归档。另一方面,gzip并不将文件归档。所以,在UNIX平台上,命令tar通常用来创码哗建一个档案文件,然后命令gzip来将档案文件压缩。

Java.util.zip包

Java提供了java.util.zip包用来兼容ZIP格式的数据压缩。它提供了一系列的类用来读取,创建,修改ZIP和GZIP格式的文件。它还提供了工具类来计算任意输入流的数目,这可以用来验证输入数据的有效性。该包提供了一个接口,十四个类,和两个异常处理类,如表1所示。

表1: java.util.zip包

条目 类型 描述

Checksum 接口 被类Adler32和CRC32实现的接口

Adler32 类 使用Alder32算法来计算Checksum数目

CheckedInputStream 类 一个输入流,保存着被读取数据的Checksum

CheckedOutputStream 类 一个输出流,保存着被读取数据的Checksum

CRC32 类 使用CRC32算法来计算巧贺Checksum数目

Deflater 类 使用ZLIB压缩类,支持通常的压缩方式

DeflaterOutputStream 类 一个输出过滤流,用来压缩Deflater格式数据

GZIPInputStream 类 一个输入过滤流,读取GZIP格式压缩数据

GZIPOutputStream 类 一个输出过滤流,读取GZIP格式压缩数据

Inflater 类 使用ZLIB压缩类,支持通常的解压方式

InlfaterInputStream 类 一个输入过滤流,用来解压Inlfater格式的压缩数据

ZipEntry 类 存储ZIP条目

ZipFile 类 从ZIP文件中读取ZIP条目

ZipInputStream 类 一个输入过滤流,用来读取ZIP格式文件中的文件

ZipOutputStream 类 一个输出过滤流,用来向ZIP格式文件口写入文件

DataFormatException 异常类 抛出一个数据格式错误

ZipException 异常类 抛出一个ZIP文件

注意:ZLIB压缩类最初是作为可移植的网络图像文件格式(PNG)标准的一部分开发的,是不受专利保护的。

从ZIP文件中解压缩和提取数据

java.util.zip包提供了数据压缩与解压缩所需要的类。ZIP文件的解压缩实质上就是从输入流中读取数据。Java.util.zip包提供了类ZipInputStream来读取ZIP文件。ZipInputStream流的创建与其它输入流的创建没什么两样。举个例子,下面的代码段创建了一个输入流来读取ZIP格式的文件:

FileInputStream fis = new FileInputStream("figs.zip");

ZipInputStream zin = new ZipInputStream(new BufferedInputStream(fis));

ZIP输入流打开后,你可以使用getNextEntry方法来读取ZIP文件中的条目数,该方法返回一个ZipEntry对象。如果到达文件的尾部,getNextEntry返回null:

ZipEntry entry;

while((entry = zin.getNextEntry()) != null) {

// extract data

// open output streams

}

现在,你应该建立一个输出流,如下所示:

int BUFFER = 2048;

FileOutputStream fos = new FileOutputStream(entry.getName());

BufferedOutputStream dest = new BufferedOutputStream(fos, BUFFER);

注意:在这段代码中我们用BufferedOutputStream代替了ZIPOutputStream。ZIPOutputStream和GZIPOutputStream使用内置的512字节缓冲。当缓冲区的大小大于512字节时,使用BufferedOutputStream才是正确的(例子中设置为2048)。ZIPOutputStream不允许你设置缓冲区的大小,GZIPOutputStream也是一样,但创建 GZIPOutputStream 对象时可以通过构造函数的参数指定内置的缓冲尺寸。

这段代码中,使用ZIP内含的条目名称创建一个文件输出流。可以使用entry.getName来得到它的返回句柄。接着读出被压缩的源数据,然后写入输出流:

while ((count = zin.read(data, 0, BUFFER)) != -1) {

//System.out.write(x);

dest.write(data, 0, count);

}

最后,不要忘记关闭输入和输出流:

dest.flush();

dest.close();

zin.close();

例程1的源程序UnZip.java显示如何解压缩并从ZIP档案中将文件释放出来。测试这个例子,编译这个类,并运行它,传给它一个ZIP格式的文件作为参数:

prompt> java UnZip somefile.zip

注意:somefile.zip应该是一个ZIP压缩档案,可以用任何一种ZIP压缩工具来创建,例如WinZip。

⑵ 手机java软件可以用WINRAR压缩软件打开吗

jar文件可以用winrar打雀蠢开啊
不过只能看到组成部分
缺乏组轮岁旦件肯定无法运行程序
我记得有款win的软件叫手机顽童腊扰的
那个可以运行

⑶ java 调用winrar命令 生成带默认路径的自解压包和创建桌面图标

没事儿没事儿
痴痴肆宴
到时候分给我山烂就行逗雹漏了
虽然我不会
哈哈~~

⑷ 怎样用JAVA解压winrar加密的zip包(不要调用winrar的命令)

WinRAR <命令> -<参数1> -<参数N> <压缩包> <文件...> <@列表文件...> <解压缩路径\>

命令 要 WinRAR 运行的字符组合代表功能
参数 切换操作指定类型,压缩强度,压缩包类型,等等的定义。
压缩包 要进行的压缩包名。
文件 要进行的文件名。
列表文件 列表文件是包含要处理文件名称的纯文本。文件名应该在第一卷启动。可以在列表文件中使用//字符后添加注释。例如,你可以包含两列字符串创建 backup.lst: c:\work\doc\*.txt //备份文本文档 c:\work\image\*.bmp //备份图片 c:\work\misc 并接着运行: rar a backup @backup.lst 你可以在命令行中同时指定普通的文件名和列表文件名。
解压缩路径 只与命令 e 和 x ,搭配使用。指出解压缩文件添加的位置。如果文件夹不存在时,会自动创建。
注意事项
a) 如果未指定 文件 或是 列表文件 时,WinRAR 将会以缺省的 *.* 运行全部的文件;
b) 如果未指定压缩包扩展名时,WinRAR 将会使用在 压缩配置 中选定的默认压缩格式。但你可以指定 .RAR 或 .ZIP 扩展名来替换它们;
c) 在命令行所输入的参数会替换相同的配置设置值;
d) 在命令 c、e、s、t、rr、k 和 x 可在压缩包名中使用通配符。如此可以用单一的命令来进行超过一个以上的压缩包,除此之外,如果你指定 -r 参数于这些命令时,它们将会搜索在子文件夹中的压缩包;

e) 某些命令和参数只应用在 RAR 压缩包,有些则在 RAR 和 ZIP 都可使用,而某些则可应用在全部的压缩格式。这一些都得看压缩格式所提供的特性而定;
f) 命令和参数的大小写是相同意思的,你可以用大写或者小写来下命令均可

⑸ 怎么用JAVA解压winrar加密的zip包

WinRAR - - 命令 要 WinRAR 运行的字符组合代表功能 参数 切换操作指定类型,

⑹ WinRAR格式在手机JAVA中需要解压吗

需要.解压后,选择jar文件就可以在手机里用了

⑺ JAVA调用WinRar文件夹有空格无法压缩怎么办

Process process = new Process();
process.StartInfo.FileName = "WinRar.exe";
process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
process.StartInfo.CreateNoWindow = false;
process.StartInfo.Arguments = "a -r -ep1 " + Request.PhysicalApplicationPath+"t est.rar "
+ Request.PhysicalApplicationPath + "up load\\人员 信息.xls"+" rar";
process.Start();

⑻ 请问怎样利用WinRAR把 原来解压的JAVA文件还原成JAR 文件

好型WinRAR没有这个功能吧。可以用命令打包成jar.
一.jar命令参数:

jar命令格式:jar {c t x u f }[ v m e 0 M i ][-C 目录]文件名...

其中{ctxu}这四个参数必须选选其一。[v f m e 0 M i ]是可选参数,文件名也是必须的。

-c 创建一个jar包含弯
-t 显示jar中的内容列表
-x 解压jar包
-u 添加文件到jar包中
-f 指定jar包的文件名

-v 生成详细的报造,并输出至标准设备
-m 指定manifest.mf文件.(manifest.mf文件中可以对jar包及其中的内容作一些一设置)
-0 产生jar包时不对其中的内容进行压缩处理
-M 不产生所有文件的清单文件(Manifest.mf)。这个参数与忽略掉-m参数的设置
-i 为指定的jar文件创建索引文件
-C 表示转到相应的目录下执行jar命令,相当于cd到那个目录,然后腊册不带-C执行jar命令

本文来自CSDN博客谈局闷,转载请标明出处:http://blog.csdn.net/jacklvkena/archive/2007/10/01/1809011.aspx

⑼ java 调用winrar命令 生成带默认路径的自解压包和创建桌面图标

从路子上说有问题,一个是w的,一个是跨平台的。好在java自己有解压。。

阅读全文

与winrarjava相关的资料

热点内容
unix命令rename 浏览:864
文件加密了为啥发不出去了 浏览:457
单片机调节马达 浏览:743
镜花pdf 浏览:610
广西民族大学app忘记密码怎么办 浏览:374
学生服务器是什么意思 浏览:533
如何下载快切app 浏览:723
如何将电脑c盘文件加密 浏览:886
嵌入式为什么linux 浏览:553
c语言编译器属于系统软件 浏览:725
android如何断点调试 浏览:722
图解韩语pdf 浏览:302
sas查各文件夹空间大小 浏览:454
python脚本检查端口 浏览:960
催眠解压视频泡沫 浏览:309
云服务器部署系统 浏览:879
恶意加密别人的文件犯法 浏览:833
汉语语法pdf 浏览:158
词法分析编译原理论文 浏览:271
电脑文件夹还原方法 浏览:534