问题标签 [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.
java - 支持 hdfs 中受密码保护的 zip 文件吗?
我们使用 zipinputstream 来读取 hdfs 中存在的 zip 文件。但是现在我们有受密码保护的 zip 文件。有没有办法仅在 hdfs 中解码 zip 文件,然后将其传递给 zipinputstream?有一个 java 库 zip4j,它可以工作仅使用本地文件系统,但由于我们有大量文件,我们只想在 hdfs 中解码和打开文件。有什么办法可以实现吗?
java - Android 6.x 更新后 ZipInputStream getNextEntry() 返回 Null
我有工作解压缩代码,它使用 ZipInputStream 从 InputStream 解压缩一个大的 zip 文件。我在 Android 5.1.1 上测试了一些示例 ZIP 文件。我最近将我的开发 Galaxy S5 更新到了 Android 6.0.1。相同的代码不再适用于相同的测试 ZIP 文件。ZipInputStream.getNextEntry() 在第一次迭代时返回 null。
Android 5.1.1 和 Android 6.0.1 中的 ZipInputStream 会发生什么变化吗?我不能使用 ZipFile,因为我只有用户通过文档/内容提供程序选择的流。
是否有解压缩 InputStream 的替代方法?我无法从 [File] 源解压缩,它必须是流。
该代码类似于许多用于解压缩的标准片段:
编辑:似乎与我的 SD 卡有关。可能是 SD 卡加密导致三星 Galaxy S5 上的 Android 6.0.1 出现问题。解压缩与内部存储(也加密)上的 ZIP 文件一起使用。
编辑2:这与解压缩无关,它与我的SD卡加密是否启用有关。关闭 SD 卡加密,一切正常。三星在带有 Galaxy S5 的 Android 6.0.1 上的 SD 卡加密出现了问题。我无法使用我的应用在设备存储和 SD 卡之间复制文件。我的文件应用程序虽然有效。
我正在针对 API 22 进行编译,因此我没有添加新的运行时权限,并且我知道如果我的目标是 22 或更低,我不需要它们。
java - 带有jackrabbit的zip文件
我正在尝试为 jackrabbit 进行上传,但 zip 文件下载已损坏
maven依赖:
上传代码:
它将zip文件上传到jackrabbit,但是当我下载文件时,它已损坏
java - 检查 FileInputStream 是否关闭的最佳方法是什么?
所以我有创建ZipInputStream所需的这个FileInputStream ,我想知道如果FileInputStream关闭, ZipInputStream会发生什么。考虑以下代码:
zis remais开门吗?ZipInputStream 对象会发生什么?有没有办法可以测试这个?
java - Java InputStream 读取缓冲区
假设我正在尝试从这样的 Java InputStream 中读取数据:
我正在解析一个二进制文件,在这种情况下我将缓冲区设置为 2,因为我想读取下一个短文件。如果我想读取下一个 int 等其他类型,我会将缓冲区设置为 4。问题是有时 zis.read(buffer) 不会填充缓冲区,即使我知道有足够的未读数据来填充缓冲区。我可以简单地将整个文件内容转储到一个数组中并解析它,但最终我实现了我自己的流阅读器来做这似乎是在重新发明轮子。我还可以实现一个 read() 函数来检查读取计数,如果小于缓冲区大小,则请求更多数据来填充缓冲区,但这既低效又丑陋。有一个更好的方法吗?
这是此处发布的问题的后续问题:
java - 有没有办法将完整的 ZipInputStream 转换为单个 InputStream 以将其保存为磁盘上的 zip 文件
这与 AEM Translation API 有关,TranslationObject 可以为我们提供一个上下文包作为 ZipStreamInput,我们需要获取该输入并转换为 Base64 字符串以作为 XML 的一部分发送,或者转换为要在本地保存的实际 zip 文件。
我尝试了很多东西,但都产生了一个 0 字节的文件,很可能是因为 ZipInputStream 的工作方式需要使用 getNextEntry。(同样,ZipInputStream 的使用是由 API 强加给我们的)
任何见解将不胜感激。
另一种解决方案是提取驱动器上的流,并从那里创建一个新的 zip,将该文件作为输入流打开,然后进行转换,这感觉非常复杂。
scala - ZipInputStream.read 中的 ZipEntry
我正在使用 ZipInputStream 读取 zip 文件。Zip 文件有 4 个 csv 文件。有些文件是完全写入的,有些是部分写入的。请帮助我找到以下代码的问题。从 ZipInputStream.read 方法读取缓冲区是否有任何限制?
java - Extract a remote zip file and unzip it to a hdfs in java
What i'm doing is just unzip and upload a zip file ,which can be download from a website, on to a hdfs. And here's the code:
As you see, I used openStream method to change the url into inputstream, and then use the inputstream as a parameter of the ZipInputStream.Finally i get an entry from the zipinputStream. But the problem is the getNextEntry method returns a null value, which means the output of my code is false,false,true. And i just can't find where the problem is.