【发布时间】:2020-12-06 05:38:59
【问题描述】:
我有一个 zip 文件,其目录结构如下所示:
file.zip
- dir1
- dir1_sub_dir1
- dir1_sub_dir1_file1
- dir1_sub_dir2
- dir1_sub_dir3
- fileABC.ext
- fileDEF.ext
是否有任何现有的 JAVA 实用程序可以帮助我获取目录(zip 文件)中所有子目录的名称。例如,将“dir1”作为文件名“file.zip”的输入并输出 [dir1_sub_dir1, dir1_sub_dir2, dir1_sub_dir3]。一种可以解决的方法是使用 ZipEntry。但是正在探索这个问题是否已经通过 JAVA 中的某些库得到解决。
【问题讨论】:
-
为什么你认为你需要一个替代
ZipEntry的方法? -
@Abra 不是替代方案,而是使用 ZipEntry 逻辑再次实现它,如果某些库已经提供了此功能
-
嗯,有 Apache 的通用压缩库供人们使用 ZipEntry 以外的功能。但是,嗯,它不能满足您的需求,因为 ZipEntry 可以满足您的需求。
-
new ZipFile(fileName).stream().filter(ZipEntry::isDirectory).map(ZipEntry::getName).filter(n -> n.startsWith("dir1/"))足够了吗?
标签: java zip zipfile ziparchive