我正在研究一个需要我访问多个嵌入式zip文件和目录中的文件的java项目。如何在不创建任何新文件的情况下访问zip文件目录中的文件?
例如,archive1.zip/archive1/archive2.zip/archive2/directory1/file_that_I_need.txt。
如果每个zip文件都被提取出来,它会立即列出它的内容,但是里面有一个包含所有内容的文件夹。
我在网上找到的例子处理zip文件,当解压缩时,它包含他们需要访问的文件,但我找不到在zip文件的目录中访问文件的任何问题。任何关于此的建议都会很棒。
谢谢!
没有区别。您可以在ZIP文件中提供可包含目录的路径。 – 2012-08-02 16:53:08
我不知道我明白这一点。你的意思是这样的代码:zis = ZipInputStream(new FileInputStream(file));会工作?假设File file = new File(“archive1.zip/archive1/archive2.zip”)。 – joshualan 2012-08-02 17:17:28
从拉链内装入拉链有点疯狂,但你可以做到。您需要浏览archive1.zip的条目,直到找到archive2.zip的InputStream。使用ZipInputStream,你需要扫描它实际需要的文件。 – 2012-08-02 17:26:33