-2

如何在 Java 中解压缩受密码保护的 7zip 文件?我找到了一种方法,但它不支持受密码保护的文件。这里是

public void decompress(String in, String destination) {
    try{
    File dest = new File(destination);
        org.apache.commons.compress.archivers.sevenz.SevenZFile sevenZFile = new org.apache.commons.compress.archivers.sevenz.SevenZFile(new File(in));
        org.apache.commons.compress.archivers.sevenz.SevenZArchiveEntry entry;
    while ((entry = sevenZFile.getNextEntry()) != null){
        if (entry.isDirectory()){
            continue;
        }
        File curfile = new File(dest, entry.getName());
        File parent = curfile.getParentFile();
        if (!parent.exists()) {
            parent.mkdirs();
        }
        FileOutputStream out = new FileOutputStream(curfile);
        byte[] content = new byte[(int) entry.getSize()];
        sevenZFile.read(content, 0, content.length);
        out.write(content);
        out.close();
    }
    }catch(Exception e){
        Toast.makeText(getApplicationContext(),e.toString(),1000).show();
    }
}
4

0 回答 0