问题标签 [zipoutputstream]
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.
c# - ZipOutputStream ZipEntry 正在丢失毫秒信息
在 C# 中使用 SharpZipLib,我正在使用:
zip 文件创建得很好,但是当我使用任何 3rd 方解压缩器解压缩它时,我看到文件在文件的修改日期丢失了毫秒信息(毫秒信息对我来说非常重要)。我看到了 ZipEntry 的代码及其 DateTime 属性: https ://github.com/icharpcode/SharpZipLib/blob/c49a22d70a77819b1dc88309c91e99565aa9099b/src/Zip/ZipEntry.cs#L695
您会看到在 zip 文件中作为此条目的日期时间写入的是: https ://github.com/icsharpcode/SharpZipLib/blob/c49a22d70a77819b1dc88309c91e99565aa9099b/src/Zip/ZipOutputStream.cs#L344 这是ms dos 格式化时间。有人可以帮我告诉我如何写这个,以便最终的压缩文件包含我从文件信息的“LastWriteTime”获得的原始日期时间中的修改日期时间中的所有内容。
谢谢。
java - 将压缩字节 [] 写入文件
我正在尝试将 zipfile 写入byte[]
内存中,然后将其写入磁盘。生成的 zipfile 已损坏。
这有效:
这已损坏并创建损坏的 zip 文件:
为什么第二个不起作用?假设我需要对原始文件进行操作,我该如何修复它byte[]
(我无法将 zip 文件直接创建到文件中,因为我需要它byte[]
用于其他目的)。
java - ZipOutputStream 创建损坏(可解压缩)的 zip 文件
我正在尝试将压缩字节发送到另一台服务器,然后让该服务器接收它们并写出压缩文件。当我在同一台服务器上进行压缩和写入时,效果很好。本地版本如下所示:
但是,跨服务器实现会产生错误的输出。发送代码是:(魔术字符串告诉服务器它已收到所有数据。
接收代码如下所示:
有任何想法吗?我在想这可能就像我在发送表示数据结束的魔术字符串之前没有关闭 ZipOutputStream 一样,但是每次我在刷新 zout 后立即调用 zout.close() 时,它都会关闭整个套接字。
java - java中的zip创建错误
我正在使用 ZipOutputStream、FileOutputStream 和 FileInputStream。
首先,我创建了一个包含一个文件的文件夹。它成功创建。然后我尝试创建 zip 文件。动态地,它第一次正确创建文件,但第二次,第三次在打开文件时出错。
错误:zip [path/././file.zip] 无法打开该进程无法访问该文件,因为它正被另一个进程使用。我在java中创建了以下代码,
我的代码:
我的文件创建功能:
我的 Zip 创建功能:
java - 在 Java 中删除 jar 文件 META-INF 文件夹
我正在使用以下方法过滤掉 META-INF 文件夹及其内容:
方法在这里找到:https ://stackoverflow.com/a/22433569/3952266
唯一的问题是,当它创建新文件时,它只输出原始大小的十分之一的文件。
java - ZipOutputStream 创建带有文件的 zip 不包含目录
希望获取现有文件(xml)并将其放在 zip 目录中。我遇到的问题是xml文件当前所在的目录也写入了zip。有人对此有想法吗?
java - Java 创建 100MB 压缩 csv 文件性能问题
我需要在 5 秒内创建 100mb 压缩文件,其中包含使用 java 的 CSV 文件。我创建了包含 CSV 文件的 test.zip,但生成 zip 文件需要太多时间(约 30 秒)。这是我到目前为止编写的代码:
我正在使用超级 csv 库,但我也尝试在没有超级 csv 库的情况下在内存中创建 zip 文件但没有成功。你能帮我么?
java - iText - OutOfMemory 创建超过 1000 个 PDF
我想创建一个充满 PDF-As 的 ZipOutputStream。我正在使用 iText(版本 5.5.7)。对于 1000 多个 pdf 条目,我在 doc.close() 上收到 OutOfMemory-exception 并且找不到泄漏。
PdfBuilder
有什么建议我该如何解决?我是不是忘记了什么?我已经尝试过使用 java ZipOutputStream 但它有任何区别。
谢谢你的回答!我了解 ByteOutputStream 的问题,但我不确定在我的情况下最好的方法是什么。这是一个 Web 应用程序,我需要以某种方式将 zip 打包到数据库 blob 中。
我现在正在做的是使用 iText 将 PDF 直接创建到 ZipOutputStream 中,并将相应 ByteArrayOutputSteam 的字节数组保存到 blob。我看到的选项是:
将我的数据拆分为 500 个对象包,将前 500 个 PDF 保存到数据库中,然后打开 zip 并添加接下来的 500 个,依此类推……但我认为这会造成与现在相同的情况,即太大流在内存中打开。
尝试将 PDF 保存在服务器上(不确定是否有足够的空间),创建临时 zip 文件,然后将字节提交到 blob...
有什么建议/想法吗?
java - Java ZipOutputStream 写入一些文件但不写入其他文件
我正在使用 Java 的 ZipOutputStream 类来编写一个大的 zip 文件。
当 zip 文件只有 1000 个子文件和子文件夹时,它可以正常工作。当 zip 文件只有 10000 个子文件和子文件夹时,它也可以正常工作。
但是,由于某种原因,当我将其增加到超过 100000 个子文件和子文件夹时,就会出现问题。
它仍然会写入大量子文件,但随后会退出。我最终得到一个 zip 文件,其中包含我期望的大约一半的目录树。
zip 文件没有达到 4GB 的最大大小。完成后,zip 文件整体只有大约 30MB 大。zip 文件中的每个子文件的大小都小于 1KB。
zip 文件的布局很简单:
根文件夹应包含十个子目录。
这些子目录中的每一个都应包含十个子目录。
这一直持续到第四层,每个子目录包含十个文件。
但是执行后,第一级只保存了5个目录,而第一级的最后一个目录只保存了两个子目录。
以下是相关代码:
和
和
我想知道 ZipOutputStream 在退出之前是否有最大数量的文件可以写入。或者也许 FileOutputStream 可以。我不确定。
感谢您的帮助。谢谢你。
java - 使用 ZipOutputStream 创建的 Zip 文件无法在 Ubuntu 中打开
我有一个 Zip 文件,它是使用代码创建的ZipOutputStream
,我将它发送到我网络中的 Ubuntu 机器。
但是当我尝试打开它时,它说“存档文件不可访问”。虽然它在 Windows 中完美打开。
这是仅限 Windows 的东西吗?有解决方法吗?