【发布时间】:2012-08-03 00:55:36
【问题描述】:
我正在处理一个需要访问多个嵌入式 zip 文件和目录中的文件的 java 项目。
例如,archive1.zip/archive1/archive2.zip/archive2/directory1/file_that_I_need.txt。
如果在提取每个 zip 文件时,它会立即列出其内容,但里面有一个包含所有内容的文件夹。
我在网上找到的示例涉及 zip 文件,这些文件在提取时包含他们需要访问的文件,但我找不到任何涉及访问 zip 文件目录中的文件的示例。任何关于这方面的建议都会很棒。
谢谢!
【问题讨论】:
-
没有区别。您在 ZIP 文件中提供可以包含目录的路径。
-
我不确定我是否理解这一点。你的意思是这样的代码:zis = ZipInputStream(new FileInputStream(file));会工作?假设 File file = new File("archive1.zip/archive1/archive2.zip").
-
从拉链内部加载拉链有点疯狂,但你可以做到。您需要遍历archive1.zip 的条目,直到找到archive2.zip 的InputStream。在上面使用 ZipInputStream,您需要扫描它以查找您实际需要的文件。
-
archive1.zip 的唯一条目虽然是一个目录。如何访问该目录中的文件?