2012-10-08 239 views
16

我想用java代码将文件压缩成zip,rar和7z格式。另外我想在指定位置解压缩这些文件。 任何人都可以请告诉我如何压缩和解压缩文件在java中使用7-zip?在java中压缩和解压缩7z文件

+4

你有没有尝试将'7zip java'打入搜索引擎?你会发现像[7-Zip-JBinding](http://sevenzipjbind.sourceforge.net/)。 –

+0

我试过了,但我只能得到文件列表。 – user1728310

+0

转到[此页](http://sourceforge.net/projects/sevenzipjbind/files/7-Zip-JBinding/4.65-1.05rc-extr-only/)。如果您需要Windows版本,顶部有一个链接。 –

回答

0

你也可以写你从Java调用来提取和压缩批处理脚本或只是内嵌命令执行。请注意,此选项仅适用于Windows平台,并需要一些管理技能。 7zip提供了一个exe文件来促进这一点。我已经将其用于我的一个实用工具,并且完美地工作。如果你有兴趣,我可以发送你的代码。

+0

您的意思是一个bash脚本,它不会在Windows上很常用,或者是一个批处理脚本,这种脚本在Windows下不常用。甚至有一些系统具有Java,但根本不需要脚本,就像一些手机一样。 – Olathe

+0

嗨Olate假设是代码将在Windows上运行,所以我的意思是批处理脚本。这个问题没有具体说明它是否会在Linux或Windows上运行。对于你说,它不会工作是绝对嘲笑,因为我以前做过这件事。 \t \t \t \t \t \t \t \t \t \t \t字符串CMD = “CMD/C” + [7Zip的APP] + “X” + [ARCHIVE] + “-o” + [目的地]; \t \t \t \t \t \t \t \t \t \t \t工艺过程=调用Runtime.getRuntime()。EXEC(CMD。的toString()); 7 zip提供了一个你可以用来提取和压缩的应用程序。投票下来我的答案? 。这完美地在windows上工作 –

+0

它不一定在Windows上完美工作。用户必须无误地安装7-Zip软件才能使其工作,这非常麻烦,特别是如果用户对计算机不甚满意(如果他们没有计算机,则更加困难管理权限;他们甚至会知道shell搜索路径存在,所以他们可以正确设置它?)。更重要的是,有更容易的多平台解决方案,不需要安装任何额外的软件,并且可以在Linux Web服务器和Android上工作,而Java也被广泛使用。 – Olathe

3

SevenZipBinding非常适合解压缩,它甚至可以自动检测格式。问题是它无法压缩。您可以使用ZIP4J创建zip档案。但它只提供简单的拉链。 LZMA显然可以将单个文件压缩成7z档案,但我还没有尝试过。