Stream 如何在一个ZIP归档文件中仅包含一个文件的情况下对其进行流式处理?

Stream 如何在一个ZIP归档文件中仅包含一个文件的情况下对其进行流式处理?,stream,zip,Stream,Zip,想象一下这种情况:我有一个只包含一个条目的ZIP存档。我事先知道参赛作品的名字 如何在不必先阅读整个ZIP归档文件的情况下扩展此单个条目 详细信息:ZIP存档的TOC附加到ZIP存档的末尾。因此,通常,在读取整个归档文件之前,无法开始读取条目。其他归档程序,如tar或gzip首先给我标题,然后给我条目数据 在我的例子中,归档文件只是一个文件,我知道文件名(content.xml,没有路径)。虽然规范并不能保证它能正常工作,但在您的例子中,只需搜索第一个条目的开头就可以了。您可以对其进行解压缩,然

想象一下这种情况:我有一个只包含一个条目的ZIP存档。我事先知道参赛作品的名字

如何在不必先阅读整个ZIP归档文件的情况下扩展此单个条目

详细信息:ZIP存档的TOC附加到ZIP存档的末尾。因此,通常,在读取整个归档文件之前,无法开始读取条目。其他归档程序,如
tar
gzip
首先给我标题,然后给我条目数据


在我的例子中,归档文件只是一个文件,我知道文件名(
content.xml
,没有路径)。

虽然规范并不能保证它能正常工作,但在您的例子中,只需搜索第一个条目的开头就可以了。您可以对其进行解压缩,然后在最后对目录进行解压缩时验证是否确实获得了所需的数据


我不知道是否有任何图书馆支持这一点,鉴于它没有得到官方的支持,我认为不会。因此,您必须拆开一些阅读器(例如,zlib中捆绑的minizip应该相当简单),然后自己实现它。

为什么它不只是gzip而不是?这样更合适。文件的服务器不在我的控制之下。