JAVA - zip4j,仅从 zip 文件中提取所有文本文件

标签 java zip4j

我们可以使用 zip4j 中给出的 extractAll 方法从 zoip 文件夹中提取所有文件,但是如果我只需要提取一种文件,比如仅文本文件或仅名称中包含特定子字符串的文件,该怎么办文件的??有没有办法使用 zip4j 来做到这一点

我认为这个问题可能与我的问题有关

Read Content from Files which are inside Zip file

但这并不是我想要的。 谁能详细解释一下如何使用这个 ZipEntry 东西,如果它有助于解决我的问题?

最佳答案

尝试下面的代码

        ZipFile zipFile = new ZipFile("myzip.zip");

        // Get the list of file headers from the zip file
        List fileHeaderList = zipFile.getFileHeaders();

        // Loop through the file headers
        for (int i = 0; i < fileHeaderList.size(); i++) {
            FileHeader fileHeader = (FileHeader)fileHeaderList.get(i);              
            String fileName = fileHeader.getFileName();
            if(fileName.contains(".java")){
                zipFile.extractFile(fileHeader, "c:\\scrap\\");
            }

        }

关于JAVA - zip4j,仅从 zip 文件中提取所有文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25395933/

相关文章:

java - 使用 zip4j 损坏 NiFi ExecuteScript 输出

java - 在 arrayList 的 arrayList 中分组

Java 重载 - long 和 float

java - 将相同的组件添加到多个面板?

java - 在 Java 中将用户输入存储为字符串

java - zip4j ZipFile getInputStream 始终返回大小为 1 的字节数组

java - Zip4J -> java.security.ProviderException : Could not construct MacSpi instance

java - 如何刷新第二个表格

java - 解压文件夹而不覆盖新文件

java - 将 Zip 内容读入字符串时出现 "ZipException - unexpected end of file when reading short buff"