问题标签 [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 gzip - GZIPOutputStream 不关闭/任意压缩
在这个线程的帮助下,我能够编写一个decompress()
和一个compress()
函数。我的程序以 gzip 格式接收数据,对其进行膨胀,有时对其进行修改,然后再次重新压缩并发送。经过数小时的头痛和错误跟踪,我发现有时(!),GZIPOutputStream
我使用的只是无法正确关闭。我可以冲洗它,但在那之后,什么也没有发生。但是,在其他时候,它只是有效>。>
这是我的compress()
方法的代码。
出于调试目的,我添加了一些 System.Outs。控制台输出如下:
之后,什么也没有发生。任何有关此问题的帮助将不胜感激!
java - 错误:不是 GZIP 格式 - 尝试解压缩以前存储在数据库字段中的 GZIP 流
流媒体让我感到困惑 - 就在我认为我掌握了这个想法时,我的代码就崩溃了。
我正在尝试接收一个字符串,gzip 压缩它,并将其存储在 PostGreSQL 数据库中。然后我想把它拿回来并重新转换成输出流。当我尝试将流读入 GZIPstream 时,错误发生在我的“get”函数中。错误是:
java.util.zip.ZipException:不是 GZIP 格式
这是用于压缩字符串然后将其放入数据库的函数:
这是我尝试检索它时的代码(引发错误):
再次,错误“java.util.zip.ZipException: Not in GZIP format”发生在“GZIPInputStream gzipStream = new GZIPInputStream(stream);”行中
哈!我究竟做错了什么?
java - Java - 压缩大字符串
在我的 Java 应用程序中,我从一些计算中得到一个非常长的字符串(从非常长的字符串中,我的意思是大约 600000 个字符左右)。但我需要将此字符串发送给客户端进行处理,因此我需要压缩字符串最多为 1000 个字符。
我尝试过使用 GZIPOutputStream 以及 Inflater 和 Deflater 类,在最好的情况下,我得到了一个 300000 个字符的输出字符串,这是很好的压缩,但在我的情况下还不够。
我也试过压缩字符串n次,但是输出比上一次大,所以只有一次压缩成功。
那么,你建议我尝试什么?
谢谢你。
java - 如何在 java 中将 .zip 压缩为 .gz?
我想将普通文件压缩为 .zip,然后将其压缩为 gzip 文件而不创建新文件。
例如,假设我有一个 pdf 文档doc.pdf,我必须得到的是:doc.pdf.zip.gz
我不想创建一个名为的新文件doc.pdf.zip
,然后打开它并压缩它。
我正在使用服务器从浏览器中获取文件并将其返回,这是我的功能:
我得到一个文件doc.pdf.zip.gz
,但它有一个损坏的文件doc.pdf
并且没有压缩,为什么?
java - 从 Java 程序向 .Net 程序发送字符串
我需要从 Java 程序向 .Net 程序发送一个字符串。
我想从 Java 中获取一个字符串并使用 GZIPOutputStream 对其进行压缩,然后使用来自 .Net 的 System.IO.Compression.GZipStream 对其进行解压缩。
目前我有它,以便它从 Java 程序返回一个字节 []。但是有没有办法将 byte[] 变成一个字符串并将字符串发送到.Net?并且能够将字符串转回 .Net 中的 byte[] 以将其解压缩回字符串?
我在这里有什么选择?我的主要目标是将压缩字符串发送到 .Net 程序。压缩是不可能的吗?
谢谢。
android - 使用 GZIPOutputStream 时图像未上传到服务器
我可以在不使用GZIPOutputStream
服务器的情况下上传图像。但我有使用要求GZIPOutputStream
。所以我用过:
在这里我可以看到
表示文件已压缩,但图像未上传到服务器。
我看不到这句话意味着没有成功。我也没有收到任何类型的错误、警告等。
那么任何人都可以有一个想法吗?高级帮助将不胜感激!
java - 如何 gzip 一个 InputStream 并返回一个 InputStream?
我从 HTTP 请求的响应开始:
我需要对该响应进行 gzip 压缩,以便将其上传到 s3 并将其压缩保存:
我知道我可以将byte[]
数组取出,responseInputStream
然后将它们压缩成一个新的InputStream
. 但是,对于大量数据,这可能非常低效。
我知道在 SO 上也有人问过类似的问题,但我还没有找到任何似乎可以解决从 a 开始InputStream
并以 gzipped 结束的特定需求InputStream
。
谢谢你的帮助!
java - java.io.IOException:写入“”字节的请求超出了“条目”的“字节”标头中的大小
我正在tar.Gzip
使用创建一个文件,GZIPOutputStream
并且我添加了另一个逻辑,如果在压缩文件时捕获到任何异常,我的代码将重试 3 次。
当我抛出一个IOException
来测试我的重试逻辑时,它抛出一个下面的异常:
java.io.IOException: request to write '4096' bytes exceeds size in header of '2644' bytes for entry 'Alldbtypes'
我在线上遇到异常:org.apache.commons.io.IOUtils.copyLarge(inputStream, tarStream);
java - 如何使用 GZIP 压缩的字节数组发送邮件并将其重命名为 **.csv.gz?
我正在尝试使用 GZIP 压缩的字节数组发送邮件,然后用 **.csv.gz 重命名它。但是,我无法打开 **.csv 文件,它显示文件已损坏。
我通过以下代码发送它:
我尝试了许多 mime 类型,但它不起作用:
此附件发送成功,但是当我用 7-zip 打开它并尝试压缩它时,它显示此文件已损坏。
有没有办法解决这个问题?
我认为这是由我用 **.csv.gz 重命名它时的格式引起的,但 **.csv.gz 是必要的。
温馨提示:磁盘是不允许保存文件的,所以我用这种方式发送。