问题标签 [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.
java - java GZIPInputStream 和 GZIPOutputStream 没有按预期工作
我正在尝试将一系列Long
's 写入 a GZIPOutputStream
,希望稍后解压缩这些数字。
当我尝试使用少量 ' 时,以下程序可以正常工作,但它会抛出许多' 的Long
异常,例如 (10240)。Long
请查看并运行此代码:
输出:
java - 是否有可用的标准 GZIP 解压缩器过滤器?还是我必须自己写?
我有一个使用 Spring-ws 实现的 SOAP 服务器。现在服务器的客户端将以 gzip 编码发送请求。我需要让我的服务器兼容。我用谷歌搜索,但我发现了一些提供压缩器过滤器而不是解压缩器的标准库。是否有可用的标准过滤器或者我必须自己编写
java - 如何在迭代中将 gzip 压缩的内容写入 HDFS 文件?
我能够将 gzip 压缩的数据写入 HDFS 文件。但是,如果我必须在迭代中写入这些数据怎么办。因此,例如,在一次迭代中,我使用 GZIPOutputStream 库压缩了一个字符串,并将该压缩后的字符串写入 HDFS 文件。对于下一次迭代,我想做同样的事情,并将该迭代的压缩字符串添加/附加到 HDFS 文件中。这可能吗?最终的 HDFS 文件应该是有效的 gzip 格式。
java - GZIPInputStream 无法在接收端解码(无效的代码长度设置)
我正在尝试使用 GZIPOutputStream 在客户端中对字符串进行编码,然后使用 GZIPOutputStream 在服务器中解码该字符串。
客户端代码(初始套接字连接建立后)为:
以及服务器端代码(同样,在建立连接之后):
我检查并正确传递了缓冲区长度(即编码消息的大小),因此传输了正确的字节数。但是,我得到了这个:
有任何想法吗?
提前感谢您的任何帮助!
java - java GZIPOutputStream 块 ChunkedOutput http 响应
我在 Jetty 上使用 Jersey2 编写了一个基本的 REST 服务器,以测试 HTTP 块传输编码和 gzip 内容编码。但是,我发现实施 WriterInceptor 以应用 GZIPOutputStream 进行 gzip 编码的推荐方法会导致服务器阻塞,而不是通过 gzip 块发送。我相信这是 GZIPOutputStream 等待它自己的缓冲区填满,所以我尝试在 WriterInterceptor 中覆盖 write() 方法以在每次写入后强制执行 flush() (因为我的服务器总是一次写入一个块)但这使得没有不同。有没有办法在写入发生时强制刷新?
应用程序.java
GZIPWriterInterceptor.java
资源.java
压缩.java
android - 在android上通过短信发送压缩图像文件
我想知道是否可以将图像转换为 base64 字符串,然后使用 GZIP 对其进行压缩并通过 SMS 将其发送到另一部 android 手机,在该手机中对其进行解压缩、解码,然后将图像显示给用户?如果是,那么可能的解决方案是什么?
java - 如何使用 Gzip (Deflate) 创建高度可压缩的文件?
文件具有哪些特征,即使用 Gzip 和 deflate 算法可高度压缩。
我有一个 TSV 文件,我尝试生成更多具有相同压缩率的 TSV 文件。我的原始 TSV 文件大约 700mb 未压缩和 40mb 压缩。
我尝试使用更长的字符串来提高压缩率(但还不够)
要编写我的文件,我使用:
您对如何重新创建这样的文件有任何提示吗?
java - GZIPOutputStream 与 BufferedOutputStream 的性能
我的应用程序正在尽可能快地将大量视频和 i2c 传感器数据记录到磁盘文件中。目前,我正在将所有内容都转换为字节,并且正在使用 BufferedOutputStream 进行编写。@Siguza 非常友好地建议研究 GZIPOutputStream 来完成任务。我想知道你是否对性能问题有任何想法赞成和反对......我认为处理器遥遥领先,磁盘写入是瓶颈 - 所以我希望在写入之前通过 GZIPOutputStream 进行动态压缩可能是一个很好的策略。对此的任何想法都非常受欢迎。
补充:回应评论...
事实证明,压缩并不是那么昂贵的处理器......正如欧文正确指出的那样,我提出原始问题的方式并不好。关于压缩性能的问题不在 BufferedOutputStream 和 GZIPOutputStream 之间......压缩和解压缩的流都需要包装到 BufferedOutputStream 中,但是如果原始 FileOutputStream 在它之前先包装在 GZIPOutputStream 中,会增加多少成本包装在 BufferedOutputStream 中。这是答案。我正在使用代码
我的 2012 macpro 笔记本电脑写入了 100 万个整数
zipped=true in 38ms - filesize 4MB
zipped=false in 21ms - fileSize 4KB
而且,是的,我喜欢压缩:-)
读取性能几乎相同 83 vs 86ms
和
都好 ...
java - Gzip解压后多加一个字节... 为什么?
我编写了一个简单的 Java 代码片段,它接受一个字符串,将其转换为 byte[],然后使用 Gzip 对其进行压缩。然后它解压缩结果以取回 byte[],它现在包含一个额外的垃圾值字节。为什么这里有一个垃圾值字节??
公共静态 void main(String[] args) 抛出异常 {
}
输出:
有人能告诉我为什么会有一个垃圾值字节吗?如何在不更改上面代码设置的情况下摆脱它?
java - 使用 GZIPOutputStream 将 InputStream 压缩成 ByteArray
我有一个将 InputStream 作为参数的方法,我正在尝试使用 GZIPOutputStream 压缩输入流,然后返回一个压缩的字节数组。我的代码如下所示:
但不知何故,它似乎不起作用。我正在尝试使用以下代码对此执行单元测试:
但我得到了这个例外
java.io.EOFException:ZLIB 输入流的意外结束
我在做什么错?