问题标签 [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.

0 投票
1 回答
1456 浏览

java - 将 ZipEntry 添加到没有 ZipInputStream 的 ZipOutputStream 时出现 java.util.zip.ZipException

我正在尝试将 a 添加ZipEntry到 aZipOutputStream但在尝试写入字节时遇到问题。

ZipEntryHashMap将文件名映射到它们的ZipEntries. 我选择这种方法是因为我正在处理一个大文件ZipInputStream,并且我希望能够比遍历InputStream并查找文件并获取其ZipEntry.

当我在添加条目后尝试写入字节时,这会导致问题。到目前为止,我发现的所有解决方案都需要ZipInputStream.

这是代码:

我得到的错误是:

我该如何解决这个异常?

0 投票
1 回答
1372 浏览

java - 如何使用两个输出流创建 zip 文件(使用 JSF)

我有两个输出流(由 jasper 报告填充数据以生成一个 excel 和一个 csv)。输出流的填充工作得很好,但现在我必须将两个“流/文件”打包到要下载的 zip 中。我怎么能这样做?

仅下载一个文件的代码如下:

此代码将内容类型设置为 excel 并让我下载文件。我已经找到了以下内容:

但后来我坚持创建ZipEntries. 如何从 2 个不同的流中创建 2 个条目(1 个 excel 和 1 个 csv)?

编辑:我真的不想创建 2 个临时文件并将它们添加到 zip 中。我想找到一种方法将 2 个输出流“添加”到一个 zip 文件中,创建 2 个不同的文件,而无需先创建它们(甚至是 tempFiles ..)。如果可能的话...

0 投票
0 回答
1070 浏览

java - XSSFWorkbook 编写方法隐式关闭输出流

嗨,我正在上传 msexcel 2007,经过评估后,我将多个 XSSFWorkbook 压缩到一个 zip 文件中。在将我的工作簿写入文件时,它会隐式关闭 outputteam,但我希望在 zip 文件中创建更多条目。在调用 ZipOutputStream 的方法 closeEntry 时,它会抛出异常 java.io.IOException: Stream closed。这是我的代码

0 投票
3 回答
811 浏览

java - 以编程方式生成 zip 会创建无效的 zip[android]

我有一个文件夹,里面有 3 张图片,我希望将其压缩并通过电子邮件发送。我有一种方法可以做到这一点,我已经在以前的问题中使用过它,并且效果很好。然而,这一次它不断生成一个无效的 zip,当我打开 zip 时,它里面只有 1 张图片,大小为 0。我似乎不知道为什么。这是方法:

这是我addDirToArchive生成zip的方法:

编辑 在此处输入图像描述

0 投票
1 回答
2526 浏览

java - 将 zip 文件创建为字节数组

我正在尝试从文件路径列表中读取创建一个 zip 文件。我想将 zip 文件作为字节数组,以便我可以将其作为 ResponseEntity 对象返回到网页。问题是当我尝试FileOutputStream时它可以工作。我试过ByteArrayOutputStream压缩文件已损坏。下面是代码

对于您在上面看到的第 2 行,如果我使用ByteArrayOutputStream,则 zip 文件似乎已损坏。但是,如果我使用FileOutputstream,我将无法打开 zip 文件及其内容。

这是我将 zip 字节数组发送回网页的方式。所有这些代码都发生在一个弹簧控制器方法中

0 投票
2 回答
12894 浏览

java - ZipOutputStream - 先 closeEntry() 或先 close()

以下是一些代码的一部分。我需要在 finally 子句中关闭资源。我需要先调用 closeEntry() 还是 close()?我收到一些错误消息。

编码

0 投票
1 回答
221 浏览

java - ZipEntry 的默认大小是多少

如果我创建一个 ZipEntry 而不指定它的大小,那么默认大小是多少?我需要指定它的大小吗?我们什么时候设置大小?我看到 ZipEntry 有一个 setSize(long size) 方法。

0 投票
3 回答
2139 浏览

java - “IllegalArgumentException:UNMAPPABLE [1]”在压缩带有希腊字符的文件时

我想在 Windows (7) 上使用 .zip 压缩文件ZipOutputStream。问题是文件名(以及文件文件内容)还包含希腊字符(“ ГП0000660040140521_a.txt”、Gamma 和 Pi)。压缩我使用的文件的代码:

但在最后一行(putNextEntry电话)我得到一个IllegalArgumentException

我认为希腊语和 UTF-8 之间的字符映射一定有什么问题……在文件名中压缩带有希腊字符的文件的正确方法是什么?

编辑

如果我使用“utf-8”作为字符集,则可以创建 zip 文件,但压缩文件的名称错误:“ ðôðƒ0000660040140521_a.txt”(缺少希腊字符)

0 投票
1 回答
1023 浏览

java - 在客户端写入文件和 NegativeArraySizeException

我有一台服务器,它发送数千个小文件,如下所示:

它是成功的,但我的问题是在客户端。我不知道如何区分文件并将它们分别写入客户端。

EDIT2: 我使用ZipOutputStream更改了服务器端代码,但仍然不知道如何解压缩并将其写入客户端(大多数情况下,不知道如何在客户端定义FileOutputStream

和接收者代码:

现在我得到一个例外“负NegativeArraySizeException

这可能是因为

但我该如何解决呢?我需要 zip 文件夹下一个条目的大小才能写入文件。但大小是Long而不是int

0 投票
2 回答
403 浏览

java - ZipOutputStream - 压缩内容错误的文件

我可以压缩文件,但内容错误......例如 - a.txt 中的内容:

这是压缩文件的代码:

错误在哪里?感谢帮助。