问题标签 [zipinputstream]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
18201 浏览

java - 如何将 ZipInputStream 转换为 InputStream?

我有代码,其中 ZipInputSream 转换为字节 [],但我不知道如何将其转换为输入流。

0 投票
0 回答
719 浏览

java - 使用 ZipInputStream

我目前正在尝试创建一个下载管理器(DLManager),您可以提交在线文件的链接,它会跟踪所有下载的进度。我非常适合普通文件,但我想添加下载和解压缩 zip 文件的功能。我已经让它通过两个基本步骤工作:初始化,然后下载。初始化过程设置一个 zipInputStream 并使用 FileEntry.getName 和 .getSize 为存档收集文件信息。使用此信息,我可以计算队列的总下载大小以及恢复下载的任何先前进度。当 DLManager 队列启动链接时,它会通过设置另一个 zipInputStream 并使用 .read 方法将文件输出到磁盘来开始下载步骤。

我遇到的问题是,当我初始化文件时需要很长时间。只需初始化一个 zip 文件,我就可以下载三个以上的大型视频文件。我对 zipInputStream 的工作方式感到困惑。它只是先流式传输标头信息,然后等待 .read 命令下载其余部分,还是在返回标头信息之前实际下载整个存档?如果它确实一次下载所有内容,是否有办法重用 zipInputStream(返回第一个条目)?我试着去阅读 zipInputStream 的源代码但迷路了。我会感谢任何可以阐明这个问题的人。谢谢。

0 投票
1 回答
4234 浏览

java - 将 ZipInputStream 作为 Jax-RS 响应对象返回

我正在尝试将包含两个不同输出流的 ZipInputStream 作为 javax.ws.rs.core.Response 流返回。当我进行 Web 服务调用以检索流时,我注意到我得到了一个空流。我之前尝试过返回 GZipInputStream,并且在客户端收到了预期的流。ZipInputStream 是否存在阻止其正确返回的问题?我正在使用 javax 2.4 (servlet-api) 这就是我的 jax-rs 服务的样子(我已经简化了一点):

这是调用服务的代码。我正在使用轴 1.4:

在最后一行,itemA 应该是 Jax-RS 服务中添加到流中的第一个条目,但我得到了一个空值。知道可能是什么原因造成的吗?

0 投票
1 回答
4462 浏览

java - Java - Zip 输出流动态缓冲区大小

我正在开发从一个 zip 获取文件并将它们放入另一个 zip 的应用程序,它对文件很好,但如果源 zip 中有一个目录,它会失败,并出现以下异常:

我正在使用以下代码:

我尝试了不同的缓冲区大小,但这无济于事,我需要一种获得动态缓冲区大小的方法。欢迎提供示例和链接。

编辑:我更改了代码以使其可用

0 投票
2 回答
9740 浏览

java - java.util.zip.ZipException:无效的压缩方法

我在处理 Mac OS X 10.7.3 上的 zip 文件时遇到了一些问题。

我从第三方收到一个 zip 文件,我必须对其进行处理。我的代码使用 ZipInputStream 来执行此操作。此代码之前已使用过多次,没有任何问题,但对于这个特定的 zip 文件它失败了。我得到的错误如下:

我用谷歌搜索了它,我可以看到 ZipInputStream 存在一些问题,例如这个

我还在 Stackoverflow 上找到了一些相关的问题,例如这个。但没有适当的、可接受的/可接受的答案。

我有几个问题:

  1. 有没有人为此找到任何具体的解决方案?就像任何最新的更新或具有相同功能但没有问题的所有不同的 JAR
  2. 在这个链接上,用户phobuz1提到“如果使用非标准压缩方法(方法6)”,那么就会出现这个问题。有没有办法找出使用哪种压缩方法?这样我就可以确定失败的原因?

请注意,与某些用户一样,如果我在本地机器上解压缩文件并重新压缩它,它就可以正常工作。

编辑1:

我得到的文件是.zip格式的,我不知道他们使用哪个操作系统/实用程序来压缩它。在我的本地机器上,我使用的是 Mac OS X 附带的内置 zip 实用程序。

0 投票
1 回答
1611 浏览

android - ZipInputStream 到文件对象

我正在尝试使用 ZipInputStream 将存档中的每个文件放入 ArrayList 中。我可以用 ZipInputStream 做到这一点吗?

我的主要目标是解压缩 cbr/cbz 文件(仅包含图像 (jpg/png) 的档案),我试图将这些图像中的每一个放在 ArrayList 上,因此 ZipInputStream 到 ArrayList 是我最终将它们放到位图的计划,但是如果您可以直接从 ZipInputStream 将它们获取到位图,那就太好了!

0 投票
2 回答
3086 浏览

java - ZipInputStream 无法读取 zip 文件的所有信息

我写了一些代码,ZipInputStream但它有问题。

文件中有 3 个文本文件testzip.zip。也就是说,正确的输出应该是三个文件名及其内容。但是,我的输出是 3 个文件名和它们的 2 个内容。为什么只有 2 个内容,而不是 3 个?

0 投票
2 回答
5672 浏览

java - ZipInputStream 在解压前检查 zip 文件是否有效

我们如何在解压之前检查 zip 文件是否损坏或有效的 Zip 文件

我的代码`

`

这适用于有效的 zipfile,但无效的 zipfile 它不会抛出任何异常,不会产生任何东西,但我需要在解压缩之前确认 zip 文件的有效性

0 投票
3 回答
5760 浏览

java - 可以确定要解压缩的文件的大小吗?

我目前有以下代码,它使用ZipInputStream实例将 zip 文件解压缩到手机上的目标位置:

有谁知道在开始之前是否有可能(使用上面的设置或其他设置)获取(估计)要解压缩的文件或字节的总数,以便在解压缩进行时显示进度指示器?我认为ZipInputStream可能有一个getTotalEntries()或类似的方法,但我找不到这样的东西。

0 投票
2 回答
6722 浏览

java - Spring:如何解析上传的 zip 文件?

我将我的zip存档上传到服务器并希望打开.txt其中的.jpg文件。我成功地在我的控制器中获取了我的存档,并通过ZipEntry. 现在我想打开它,但为此我应该得到我的文件的完整路径。

我还没有找到如何做到这一点。你能建议一些方法来做到这一点吗?

更新

我尝试使用下面建议的示例,但我无法打开文件

我有FileNotFoundException

所以我回到我的起点。我在 Java Spring 应用程序中有上传表单。在控制器中,我有一个 zip 存档byte[]

然后我得到了每个ZipEntry

根据文档,我做得很好,但对我来说,只传递文件名并怀疑你会成功打开文件很奇怪