问题标签 [gzipoutputstream]

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 回答
604 浏览

java - 为什么我会直接重新抛出异常,而不进行错误处理

我找到了一段 Base64 编码的代码。在阅读它时,我偶然发现了这样的事情:

如您所见,IOException 在 catch 块中被捕获并立即重新抛出,这似乎不是一个错误,因为注释甚至描述了操作并将 finally 块的执行命名为目的。

但是无论如何都不会调用 finally 块吗?

资料来源:

Base64-De/Encoder(公共领域)(作者:Robert Harder)

0 投票
0 回答
111 浏览

java - 压缩 TreeSet 对象时出现 Java GZipOutputStream StackOverflowError

在使用 GZipOutputStream 将 TreeSet 对象压缩到 byte[] 数组中时,我遇到了一个奇怪的 StackOverflowError。

执行压缩的代码非常标准:

TreeSet 对象包含数据对象的集合,这些对象中的字段是平面的,即没有映射/列表/集合(它们可能有一些集合字段,但由于 TreeSet 被压缩,它们是空的),只有数字、布尔值和字符串。

我在一些帖子中读到 GZIPOutputStream 在处理复杂的地图结构时会遇到这个问题,但没有更多细节。

有谁知道什么样的地图会因为这种堆栈溢出错误而破坏 GZIP?我正在压缩的 TreeSets 也特别大......错误偶尔出现,我无法自行生成它,它只会在生产中运行时发生,当这些 TreeSets 被积极使用时(读取、添加和拉链)。

0 投票
4 回答
2181 浏览

java - 通过 GZIPOutputStream 形成的 BufferedWriter 计算写入文件的字节数

我有一个BufferedWriter如下图:

我想找出写入文件的字节而不像查询文件一样

因为它会增加开销,我不希望这样。

我也不能这样做:

因为它在压缩前给出大小。

0 投票
3 回答
1181 浏览

java - 使用 GZIPOutputStream 压缩上传,无需在本地创建 gzip 文件

在上传文件之前,我正在尝试在 java 中压缩文件GZIPOutputStream。有没有办法将压缩文件存储在内存中以供上传,而不是让它在本地计算机上生成压缩文件?

谢谢!

0 投票
1 回答
3054 浏览

java - BufferedOutputStream 多行写入文件

我制作的功能有点问题。我希望每次我给这个函数一个字符串时,它都会将我保存到同一个文件中的一个新行,但实际上现在只保存我给的最后一个字符串。这就像一次又一次地覆盖,需要一些帮助

例如,在 BufferedWriter 中有一个名为 newLine 的方法可以帮助做到这一点。

但是因为我想使用 GZIPOutputStream 类,所以我需要 BufferedOutputStream。

任何想法如何做到这一点?感谢 ypu

0 投票
2 回答
2613 浏览

java - 为什么 Java 和 Go 的 gzip 会得到不同的结果?

首先,我的Java版本:

输出是:

31 -117 8 0 0 0 0 0 0 0 -53 72 -51 -55 -55 47 -49 47 -54 73 1 0 -83 32 -21 -7 10 0 0 0

然后是 Go 版本:

输出:

31 139 8 0 0 9 110 136 0 255 202 72 205 201 201 47 207 47 202 73 1 0 0 0 255 255 1 0 0 255 255 173 32 235 249 10 0 0 0

为什么?

起初我认为这可能是由这两种语言的不同字节读取方法引起的。但我注意到 0 永远无法转换为 9。并且大小[]byte不同。

我写错代码了吗?有什么方法可以让我的 Go 程序获得与 Java 程序相同的输出?

谢谢!

0 投票
1 回答
1369 浏览

java - 在 try-wtth-resources 块中使用 GZIPOutputStream 对象时是否需要调用 finish()

在 try-with-resources [autoclosable] 块内使用 GZipOutputStream 时,是否需要finish()在完成资源后显式调用?

0 投票
1 回答
1318 浏览

java - NIO GZIP 压缩和复制文件

我正在使用FileChannel并进行从fromFile到toFileFileInputStream的简单文件复制。FileFile

代码基本上是这样的:

wherefromFiletoFile是正确的File对象。现在,我不想直接从复制,而是fromFile想使用 GZIP(在 Java 库中找到)压缩其内容,然后复制到toFile. 同样反过来,当我从 转回时toFile,我也想解压缩它。

我想知道有没有一种简单的方法

或者

并且所有其余代码保持不变。你对这个最干净的解决方案有什么建议吗?

谢谢..

0 投票
0 回答
3430 浏览

java - 通过 RESTful Web 服务发送文件:Base64 编码和 GZip 压缩

几天以来,我一直在摆弄 Java 项目,以使用 RESTful Web 服务发送/接收文件。我使用尽可能少的额外库来做到这一点,因为这将是对现有软件系统的扩展。为了让我的项目在这个软件系统中运行,我需要遵循他们的 API。我需要提供我的“扩展”作为 OSGI 包。

因为我的项目的结果需要运行 snappy 并且可能在移动设备上运行,所以我还想对文件使用 GZip 压缩。此外,当我阅读有关通过 REST 发送文件的信息时,似乎最好对文件的内容进行 Base64 编码并随其发送文件名。

这将我带到以下客户端代码示例:(不是实际的“扩展”)

从日志输出来看,这部分似乎工作正常。(前 3 行)

当我尝试在我的服务中读取、解码、解压缩它时,就会出现问题。(软件系统上的“扩展”)如上面日志的最后一行所示。

接听电话的代码如下:

我在网上和stackoverflow上环顾四周,但似乎做得对。我从以下帖子中得到了一些想法: 如何将 Java 字符串转换为字节 []?Base64 数据的流解码 没有成功。一定有什么我忽略了。

来自服务器的日志是:

当我注释掉 GZip 压缩时,它工作得很好。任何帮助或提示将不胜感激。

亲切的问候

0 投票
1 回答
1155 浏览

java - 编写一个压缩请求体的 OkHttp 拦截器

我正在尝试编写一个使用 Gzip 压缩请求正文的拦截器。

我的服务器不支持压缩请求,所以我将使用 anapplication/octet-stream 而不是 Content-Type: gzip手动压缩请求正文,它将在后端手动解压缩。

它不起作用 - 触发请求 30 秒后,500 Server Error收到 a 。在服务器上有一个超时异常。

我的猜测是我在 gzip 方法的输入/输出上做错了……有什么想法吗?

更新如果我停止应用程序,请求成功通过,这是否表明应用程序仍在等待来自 outputBuffer 的数据?