首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Zip4j成功提取?

Zip4j成功提取?
EN

Stack Overflow用户
提问于 2014-11-24 04:56:43
回答 1查看 279关注 0票数 0

我正在使用文档贫乏的Zip4j库for来创建一个程序,该程序可以对锁定的zip文件运行字典攻击。当我运行我的程序时,它会从字典文件中提取值,并在zip中运行,以查看它们是否有效。如果是这样的话,文件就会被解压缩。最让我恼火的是,即使他正确地提取了密码,它也会继续运行密码。我想在成功开采之后停下来。我该怎么做呢?我如何创建一个触发器,当文件从zip中被拉出时,程序就停止了解压?下面是我使用的循环:

代码语言:javascript
复制
    if(zipper.isEncrypted()){
            while(passwordCounter != passwordArray.size()){
                zipper.setPassword((String) passwordArray.get(passwordCounter));
                System.out.println("Testing password no." + passwordCounter + ", which is " + passwordArray.get(passwordCounter));
                passwordCounter = passwordCounter + 1;
                try {
                     zipper.extractAll(dest);

                } catch(ZipException ze) {
                    continue;
                }
            }
        } else
            zipper.extractAll(dest);

压缩中包含的文件并不总是与zip命名相同,因此您无法检查是否存在与zip相同的文件夹。另外,如果用户希望压缩到他们的桌面,您不能说,如果大小不是0,那么它已经被提取。文件很可能在他们的桌面上。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-24 04:58:34

break;放在zipper.extractAll(dest);语句下,但放在try-catch

代码语言:javascript
复制
try {
    zipper.extractAll(dest);
    break;
} catch(ZipException ze) {
    continue;
}

这将导致代码脱离当前循环。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27098113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档