读取目录内容而不是 zip 文件内容

Posted

技术标签:

【中文标题】读取目录内容而不是 zip 文件内容【英文标题】:Read a directory content instead of a zip file content 【发布时间】:2013-03-29 10:45:47 【问题描述】:

我有这段代码可以让我读取 zip 文件内容,但我想读取目录内容而不是 zip 文件(zip 文件必须被视为目录)。我该怎么办?

import java.util.HashMap;
import java.util.Map;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;

public class ZipFileDataReader 
    private ZipFile zipFile;
    private Map zipEntry2dataReader;

    public ZipFileDataReader(ZipFile zipFile) 
        this.zipFile = zipFile;
        zipEntry2dataReader = new HashMap();
    

    public synchronized ZipEntryDataReader getZipEntryDataReader(
            ZipEntry zipEntry, long offset, int size) 
        ZipEntryDataReader entryReader = (ZipEntryDataReader) zipEntry2dataReader
                .get(zipEntry.getName());

        if (entryReader == null) 
            entryReader = new ZipEntryDataReader(zipFile, zipEntry);
            zipEntry2dataReader.put(zipEntry.getName(), entryReader);
        

        return entryReader;
    

    public synchronized void releaseZipEntryDataReader(ZipEntry zipEntry) 
        zipEntry2dataReader.remove(zipEntry.getName());
    

【问题讨论】:

您要读取 zip 文件所在的目录吗?我无法理解这句话“读取目录内容而不是 zip 文件(zip 文件必须被视为目录)”。你能解释一下吗>? 我的意思是,我想摆脱 zipfile,我想读取一个目录。我找到了如何以这种方式读取 zipfile,但我找不到如何读取目录 我的意思是,我可以将 zipfile 转换为目录吗?! 你不能唯一的办法就是解压 zip 文件,然后读取目录的内容。 【参考方案1】:

这是Java File IO 的一个不错的大指南。

【讨论】:

以上是关于读取目录内容而不是 zip 文件内容的主要内容,如果未能解决你的问题,请参考以下文章

如何在不实际提取文件的情况下使用 VBScript 读取 .zip 文件的内容?

如何压缩文件夹的内容而不是文件夹[重复]

在 PHP 中是不是可以在不先提取其内容的情况下检查 Zip 文件的内容?

如何读取 zip 文件的内容并保存文件

从 Zip 文件中的文件中读取内容

读取 zip 包中 xml 文件的内容