Java Zip4j成功提取?
我正在使用缺乏文档记录的Zip4j Java库来创建一个程序,该程序对锁定的zip文件运行字典攻击。当我运行我的程序时,它会从字典文件中提取值,并按zip运行它们,以查看它们是否有效。如果这样做,则会提取文件。让我恼火的是,即使他正确地提取了它,它仍然会通过它运行密码。我希望它在成功提取后停止。我该怎么做呢?如何创建一个触发器,当文件从zip中提取时,程序停止尝试提取?下面是我正在使用的循环:Java Zip4j成功提取?,java,loops,arraylist,zip4j,Java,Loops,Arraylist,Zip4j,我正在使用缺乏文档记录的Zip4j Java库来创建一个程序,该程序对锁定的zip文件运行字典攻击。当我运行我的程序时,它会从字典文件中提取值,并按zip运行它们,以查看它们是否有效。如果这样做,则会提取文件。让我恼火的是,即使他正确地提取了它,它仍然会通过它运行密码。我希望它在成功提取后停止。我该怎么做呢?如何创建一个触发器,当文件从zip中提取时,程序停止尝试提取?下面是我正在使用的循环: if(zipper.isEncrypted()){ while(pas
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名称相同,因此您无法检查是否存在与zip名称相同的文件夹。此外,例如,如果用户希望zip转到他们的桌面,您不能说如果大小不是0,那么它已被提取。文件很可能会在桌面上。将
中断拉链下方的代码>提取所有(dest)代码>语句,但在try catch
try {
zipper.extractAll(dest);
break;
} catch(ZipException ze) {
continue;
}
这将导致代码脱离当前循环