我目前正在尝试构建一个用于在嵌套 zip 中查找文件的功能。我可以处理的一般问题,并且我的代码可以正常工作。我遇到的问题与压缩格式有关。
默认 zip 文件不是问题,我打开我的 zipinputstream,将其发送到我的搜索功能,检查每个条目是否是 zip 文件,如果是,我将输入流包装在另一个 zipinputstream 中并递归。当我有一个非标准的 zip 压缩时,问题就来了。
我想让这个函数更加健壮:能够检测 zip 条目的压缩格式,将其包装在正确的 deflater 中,然后将其包装在 zipinputstream 中,以便我可以递归。问题是我不知道如何解码压缩设置。我也不知道如何处理其他 zip 压缩格式。
有关如何使此功能更灵活的任何建议都会有所帮助。我打算将其集成到我自己的个人库中,以便将来从各个方向使用此功能。