0

提取 .7z 保护文件时出现此错误

org.tukaani.xz.CorruptedInputException:压缩数据已损坏

我正在使用这段代码

public static void unSevenZipFile(String from,String to,String pass) throws Exception
{
    // Get 7zip file.
    SevenZFile sevenZFile = new SevenZFile(new File(from),pass.getBytes("UTF16LE"));

    SevenZArchiveEntry entry;
    while ((entry = sevenZFile.getNextEntry()) != null)
    {

        File file = new File(to + entry.getName());
        Log.d("unzip","Un seven zipping - " + file);
        // Create directory before streaming files.
        String dir = file.toPath().toString().substring(0, file.toPath().toString().lastIndexOf("/"));
        Files.createDirectories(new File(dir).toPath());
        // Stream file content
        byte[] content = new byte[(int) entry.getSize()];
        sevenZFile.read(content);
        Files.write(file.toPath(), content);
        
    }


}

如果你知道有什么问题,请告诉我。提前致谢

4

1 回答 1

1

问题是我没有将破折号放在正确的位置。我做了这个“UTF16LE”和“UTF-16LE”,但解决方案是这个“UTF16-LE”

于 2022-02-06T11:24:50.210 回答