问题标签 [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 投票
0 回答
38 浏览

sql - 使用 SQL 解压缩 Gzip 数据

我们有一项将压缩数据存储在数据存储(SQL 表)中的服务。此数据使用 java util library GZIPOutputStream压缩。

我的问题是有没有办法使用 SQL 解压缩这些数据?

样本压缩数据:

"H4sIAAAAAAAAAO2QX2vCMBTFv0ueW9FNXeeb2jgCmoqtDBEpsb2FwExckgpO+t0XYytOGIw9S55y7p/fOXd9QjkzbCjyUGblDoTRC/gsuYJ8IhUWhhsOGg3WJ3SQ2v2PIRjGP6x4o5HcjvKCgzrLUGtogNjuS7SY3Le2peYCtG6xfg+Czkvhb4Og53fhteMH/XbmP2fd/lMWQJcVbeTVO5LjHuyWUT181WNZquxcicIYVZX3a4op18bZZ8Yovi0NXJUDKOs4Y4ZLMWyqlO0ccBkTiuM4nZIxpmOc0uVshBeWr4BpKexxasKZZgdmJLYTbymhkwhVG2vo3oljNupUWq50x2qkuZKyaPI2+PkiiiaWar1qa7MuU/x+vcTNph9C3YppQpJVSkJUeff0usUx0mQ1x+loGGPX+aeU3iPPI88jz7/zbC7vGxsilliEBQAA"

0 投票
0 回答
86 浏览

java - 如果先调用flush()然后关闭,为什么Java GzipOutputStream总是在预告片之前写入两个字节03 00?

我发现在使用 Java.util.zip.GzipOutputStream 时,当我先调用 flush() 然后调用 close() 时。在写入预告片之前,deflator 总是产生两个字节(十六进制的“00”和“03”)。这两个字节是什么意思?为什么 flush() 不会刷新压缩器中的所有字节?我已经将流 syncFlush 设置为 true。(在我的用例中,我需要强制刷新流)

这是我写的测试代码。

我跑hexdump -C gtest.gz得到

最后 8 个字节是 Gzip 的预告片,无论我更改什么内容,都会生成 '03' '00' 之前的两个字节。

0 投票
1 回答
65 浏览

java - 确定 GZIPOutputStream 行为

以下代码为两个字符串生成确定性(shasum 相同)的文件。

生产:

但是,如果我在命令行上获取文件并重新压缩它,它会产生不同的结果

如何使用 /usr/bin/gzip 和 gunzip 使其与原始 sha 匹配?

0 投票
0 回答
236 浏览

c++ - 为什么zcat在解压用GzipOutputStream压缩的文件时会抛出“无效压缩数据”?

在 C++ 中,我使用GzipOutputStream来压缩数据,这是一个大字符串。首先,我必须将字符串转换为原始消息,如下所示:

然后,在代码中,我调用GzipOutputStream来压缩数据,例如:

完成压缩后,我得到了压缩的数据文件,但是当我使用zcat来获取文件数据时,我得到了这个错误:

20200301_12是文件名。

0 投票
0 回答
53 浏览

java - 从java中的s3读取压缩离子内容

我有一个后端服务,它将使用 GZipOutputStream 创建的文件写入 S3,并且前端想要在其中显示 ION 内容。我尝试使用 GZipInputStream 来包装 S3Object getObjectContent() 方法返回的 InputStream,但似乎不起作用。

有人可以在这里帮忙吗?

使用 GzipOutputStream 生成压缩文件的代码

从 S3 读取它的代码

0 投票
1 回答
130 浏览

java - 带有 GZIPOutputStream 的 Unirest 帖子不适用于 python Flask api

将压缩的有效负载从 Java 客户端 (Unirest) 发布到 Flask Api 时出现以下错误。

[发布]>。错误 400 错误请求:无法解码 JSON 对象:“utf-8”编解码器无法解码位置 1 中的字节 0x8b:解压缩时起始字节无效。\",). in loading\ns = s.decode(encoding)\nUnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte\n\n在处理上述异常时,又出现了一个异常发生了

有效负载以压缩格式传递。发布请求在 python 测试代码中运行良好。

我有以下 java 发布请求。

以下 python 代码正在接收请求。 修改代码以使其有点简单。代码在 .decode('utf8') 处失败

以下是工作 pyhton 测试代码

0 投票
1 回答
93 浏览

java - org.apache.hadoop.io.compress.GzipCodec,在这个类中GzipOutputStream没有关闭,所以内存泄漏

org.apache.hadoop.io.compress.**GzipCodec,在这个类GzipOutputStream中没有关闭,所以内存泄漏。

如何关闭GzipOutputStream?或者其他流也应该关闭?有没有好的选择?

spark版本是2.1.0,hadoop版本是2.8.4

0 投票
1 回答
460 浏览

java - 在 java 中使用 GZIPOutputStream 或 ZIPOutputStream 时是否可以排除文件和/或目录?

我正在尝试存档文件夹根目录中的所有文件,但将备份作为根目录中的文件夹之一,所以我想排除它,因此第一个备份之后的每个备份都不会备份备份文件夹(又名以指数方式增加存档的大小)在java中,如果GZIPOutputStream或ZIPOutputStream不可能,你能推荐我一种替代方法来备份允许从备份中排除文件和/或目录的文件吗?感谢您的阅读!

0 投票
1 回答
290 浏览

java - Python gzip 和 Java GZIPOutputStream 给出不同的结果

我正在尝试在 Python 中获取 gzipped 字符串的哈希值,并需要它与 Java 相同。但是 Python 的gzip实现似乎与 Java 的GZIPOutputStream.

蟒蛇gzip

爪哇GZIPOutputStream

印刷:

因此,两个 gzip 字节输出似乎非常相似,但略有不同。

1F8B0800 678B186002FF 2B492D2E01000C7E7FD804000000

1F8B0800 000000000000 2B492D2E01000C7E7FD804000000

Pythongzip.compress()方法接受compresslevel0-9 范围内的参数。尝试了所有这些,但没有一个给出预期的结果。GZIPOutputStream有什么方法可以在 Python中获得与 Java 相同的结果?

0 投票
1 回答
64 浏览

java - Java 的 GZIPOutputStream 拒绝刷新

这是一个演示我的问题的 JUnit 测试:

有两个单独的测试。一个使用普通输入和输出流(工作正常),另一个将这些流包装在它们的 gzip 等效项中。

我使用了GZIPOutputStream'ssyncFlush选项,我希望在刷新父流时自动刷新流中的所有剩余字节。每当它执行PrintWriter.autoFlushprintln

有没有更好的方法来强制GZIPOutputStream在 a 之后刷新其缓冲区println