加快提取Zip文件

时间:2015-08-17 07:57:51

标签: java zip java-8

我编写了一个在java中使用zip文件的小例子。实际上,我想知道,如果有更快的方法来提取这样的文件。如果我用更大的文件(比如1GB或更多)测试我的工具,那么这个过程需要很长时间。 我很感谢你的每一条建议。

我这样做:

$(this)

1 个答案:

答案 0 :(得分:2)

也许这不是你正在等待的答案,但你想尝试this package;使用最新的稳定版本,您的代码可以减少"对此(请注意,目标目录不能存在):

final Path zipFile = Paths.get("path/to/file.zip");
final Path dstDir = Paths.get("path/to/destination/directory");

try (
    final FileSystem zipfs = MoreFileSystems.openZip(zipFile, true);
) {
    MoreFiles.copyRecursize(zipfs.getPath("/"), dstDir,
        RecursionMode.FAIL_FAST);
}

这将使用JRE提供的zip文件系统提供程序;它可能会或可能不会针对您的用例进行优化(我还没有检查过!)。

Javadoc链接: