问题标签 [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.
java - 将 ZipEntry 添加到没有 ZipInputStream 的 ZipOutputStream 时出现 java.util.zip.ZipException
我正在尝试将 a 添加ZipEntry
到 aZipOutputStream
但在尝试写入字节时遇到问题。
我ZipEntry
从HashMap
将文件名映射到它们的ZipEntries
. 我选择这种方法是因为我正在处理一个大文件ZipInputStream
,并且我希望能够比遍历InputStream
并查找文件并获取其ZipEntry
.
当我在添加条目后尝试写入字节时,这会导致问题。到目前为止,我发现的所有解决方案都需要ZipInputStream
.
这是代码:
我得到的错误是:
我该如何解决这个异常?
java - 如何使用两个输出流创建 zip 文件(使用 JSF)
我有两个输出流(由 jasper 报告填充数据以生成一个 excel 和一个 csv)。输出流的填充工作得很好,但现在我必须将两个“流/文件”打包到要下载的 zip 中。我怎么能这样做?
仅下载一个文件的代码如下:
此代码将内容类型设置为 excel 并让我下载文件。我已经找到了以下内容:
但后来我坚持创建ZipEntries
. 如何从 2 个不同的流中创建 2 个条目(1 个 excel 和 1 个 csv)?
编辑:我真的不想创建 2 个临时文件并将它们添加到 zip 中。我想找到一种方法将 2 个输出流“添加”到一个 zip 文件中,创建 2 个不同的文件,而无需先创建它们(甚至是 tempFiles ..)。如果可能的话...
java - XSSFWorkbook 编写方法隐式关闭输出流
嗨,我正在上传 msexcel 2007,经过评估后,我将多个 XSSFWorkbook 压缩到一个 zip 文件中。在将我的工作簿写入文件时,它会隐式关闭 outputteam,但我希望在 zip 文件中创建更多条目。在调用 ZipOutputStream 的方法 closeEntry 时,它会抛出异常 java.io.IOException: Stream closed。这是我的代码
java - 以编程方式生成 zip 会创建无效的 zip[android]
我有一个文件夹,里面有 3 张图片,我希望将其压缩并通过电子邮件发送。我有一种方法可以做到这一点,我已经在以前的问题中使用过它,并且效果很好。然而,这一次它不断生成一个无效的 zip,当我打开 zip 时,它里面只有 1 张图片,大小为 0。我似乎不知道为什么。这是方法:
这是我addDirToArchive
生成zip的方法:
编辑
java - 将 zip 文件创建为字节数组
我正在尝试从文件路径列表中读取创建一个 zip 文件。我想将 zip 文件作为字节数组,以便我可以将其作为 ResponseEntity 对象返回到网页。问题是当我尝试FileOutputStream时它可以工作。我试过ByteArrayOutputStream压缩文件已损坏。下面是代码
对于您在上面看到的第 2 行,如果我使用ByteArrayOutputStream,则 zip 文件似乎已损坏。但是,如果我使用FileOutputstream,我将无法打开 zip 文件及其内容。
这是我将 zip 字节数组发送回网页的方式。所有这些代码都发生在一个弹簧控制器方法中
java - ZipOutputStream - 先 closeEntry() 或先 close()
以下是一些代码的一部分。我需要在 finally 子句中关闭资源。我需要先调用 closeEntry() 还是 close()?我收到一些错误消息。
编码
java - ZipEntry 的默认大小是多少
如果我创建一个 ZipEntry 而不指定它的大小,那么默认大小是多少?我需要指定它的大小吗?我们什么时候设置大小?我看到 ZipEntry 有一个 setSize(long size) 方法。
java - “IllegalArgumentException:UNMAPPABLE [1]”在压缩带有希腊字符的文件时
我想在 Windows (7) 上使用 .zip 压缩文件ZipOutputStream
。问题是文件名(以及文件文件内容)还包含希腊字符(“ ГП0000660040140521_a.txt
”、Gamma 和 Pi)。压缩我使用的文件的代码:
但在最后一行(putNextEntry
电话)我得到一个IllegalArgumentException
:
我认为希腊语和 UTF-8 之间的字符映射一定有什么问题……在文件名中压缩带有希腊字符的文件的正确方法是什么?
编辑
如果我使用“utf-8”作为字符集,则可以创建 zip 文件,但压缩文件的名称错误:“ ðôðƒ0000660040140521_a.txt
”(缺少希腊字符)
java - 在客户端写入文件和 NegativeArraySizeException
我有一台服务器,它发送数千个小文件,如下所示:
它是成功的,但我的问题是在客户端。我不知道如何区分文件并将它们分别写入客户端。
EDIT2: 我使用ZipOutputStream更改了服务器端代码,但仍然不知道如何解压缩并将其写入客户端(大多数情况下,不知道如何在客户端定义FileOutputStream:
和接收者代码:
现在我得到一个例外“负NegativeArraySizeException ”
这可能是因为
但我该如何解决呢?我需要 zip 文件夹下一个条目的大小才能写入文件。但大小是Long而不是int
java - ZipOutputStream - 压缩内容错误的文件
我可以压缩文件,但内容错误......例如 - a.txt 中的内容:
这是压缩文件的代码:
错误在哪里?感谢帮助。