如何检测7zip文件是否受密码保护?

时间:2014-12-18 09:38:07

标签: java 7zip

我们的项目正在使用JAVA,UI允许客户上传带有/不带密码的7-zip文件,要求是检查文件是否受密码保护。

我该怎么做?

提前致谢。

2 个答案:

答案 0 :(得分:1)

如果您使用sevenzipjbind,当您获得ISevenZipInArchive时,您可以检查它是否具有ENCRYPTED属性

答案 1 :(得分:0)

使用sevenzipjbind仅仅仅检查Archive属性是不够的。您必须检查档案中每个项目的属性。

boolean isEncrypted(IInArchive archive) throws SevenZipException {
    if (Boolean.TRUE.equals(archive.getArchiveProperty(PropID.ENCRYPTED))) return true;
    for (int i=0;i<archive.getNumberOfItems();i++) {
        if (Boolean.TRUE.equals(archive.getProperty(i,PropID.ENCRYPTED))) return true;
    }
    return false;
}