问题标签 [gzipinputstream]

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 投票
5 回答
7615 浏览

java - 如何解压缩字节数组中的压缩数据?

我有一个类,它有一个接收对象作为参数的方法。此方法通过 RMI 调用。

MyFile 有一个名为“body”的属性,它是一个字节数组。

此属性保存由另一个应用程序解析的文件的 gzip 压缩数据。

在使用它执行进一步操作之前,我需要解压缩这个字节数组。

我看到的所有解压缩 gzip 数据的示例都假设我想将其写入磁盘并创建一个物理文件,但我没有这样做。

我该怎么做呢?

提前致谢。

0 投票
5 回答
107347 浏览

java - GZIPInputStream 逐行读取

我有一个 .gz 格式的文件。用于读取此文件的 java 类是 GZIPInputStream。但是,这个类并没有扩展 java 的 BufferedReader 类。结果,我无法逐行读取文件。我需要这样的东西

我想创建我的类来扩展 Java 的 Reader 或 BufferedReader 类,并使用 GZIPInputStream 作为其变量之一。

但是,这在我使用时不起作用

有人可以建议如何进行..

0 投票
2 回答
3687 浏览

java - 每当尝试创建 GzipInputstream 时,客户端代码“随机”失败

我有一个基本上可以满足多个客户的服务器。我基本上使用 gzip(input/output)stream 来压缩客户端-服务器之间的数据。

许多客户端可以同时向服务器发送请求,因此我有一个线程来满足每个客户端的需求。

现在,我遇到的问题是,在建立与服务器的连接后,每当尝试执行以下操作时,某些客户端代码“随机”失败。

我明白了java.io.EOFException

当我说随机时,我的意思是在异常中找不到任何模式。请求正在正确发送(否则它将不适用于任何客户端请求)。

我已经搜索了很多..但找不到任何东西.. :(

关于上述问题的任何指示?

接受新连接并产生新线程的服务器代码。

线程内的代码..

这是我得到的异常的堆栈跟踪:

0 投票
3 回答
3000 浏览

java - Java中PHP的gzuncompress函数?

我正在使用 PHP 的 gzcompress() 函数压缩字符串:

http://us2.php.net/manual/en/function.gzcompress.php

我想从 PHP 压缩函数中获取输出并在 Java 中解压缩字符串。任何人都可以让我走上正确的道路吗?

非常感谢!

0 投票
2 回答
8461 浏览

c# - C# 到 Java:Base64String、MemoryStream、GZipStream

我有一个已在 .NET 中压缩的 Base64 字符串,我想将其转换回 Java 中的字符串。我正在寻找 C# 语法的一些 Java 等价物,特别是:

  • Convert.FromBase64String
  • 记忆流
  • GZipStream

这是我想转换的方法:

任何指针表示赞赏。

0 投票
3 回答
1260 浏览

java-me - J2ME 的 GZIPInputStream 实现

是否有适用于 J2ME 的 GZIPInputStream 实现。我更喜欢 Apache 风格的许可证

0 投票
3 回答
10042 浏览

java - 如何从 GZIPed 数据的 InputStream 中获取解压缩数据的 InputStream?

我调用了一个返回 gzip 文件的服务。我将数据作为javax.activation.DataHandler.getInputStream();响应中的 InputStream(由 提供)。

我想做的是,在不向磁盘写入任何内容的情况下,获取存档中文件中解压缩数据的 InputStream。在这种情况下,压缩文件是一个 xml 文档,我正在尝试使用它来解组javax.xml.bind.Unmarshaller,它需要一个 InputStream。

我目前正在尝试将 InputStream 写入 OutputStream(解压缩数据),然后我需要将其写回 InputStream。它还没有工作,所以我想我会看看是否有更好的(我希望如此)方法。

我可以将初始 InputStream 写入磁盘并获取一个 gz 文件,然后读取该文件,从中获取压缩文件并从那里开始,但我宁愿将其全部保存在内存中是可能的。

更新 1:这是我当前的(不工作 - 获得“非 GZIP 格式”异常):

如果不是写入 ByteArrayOutputStream 我第一次写入 FileOutputStream 我得到一个压缩文件(我可以手动打开它以获取其中的 xml 文件)并且服务(eBay)说它应该是一个 gzip 文件所以我我不知道为什么我会收到“不是 GZIP 格式”错误。

更新 2:我尝试了一些不同的东西——同样的错误(“不是 GZIP 格式”)。哇,我只是想用分号结束那个括号。无论如何,这是我的第二次尝试,但仍然不起作用:

0 投票
9 回答
5692 浏览

java - 如何让 Java 将我的多核处理器与 GZIPInputStream 一起使用?

我在我的程序中使用了 GZIPInputStream,我知道如果我能让 Java 并行运行我的程序,性能会有所帮助。

一般来说,标准虚拟机是否有一个命令行选项可以在多核上运行?它只在一个上运行。

谢谢!

编辑

我在 Windows XP 上运行普通的 Java SE 6 更新 17。

将 GZIPInputStream 放在单独的线程上会显式帮助吗?不!不要将 GZIPInputStream 放在单独的线程上!不要多线程 I/O!

编辑 2

我想 I/O 是瓶颈,因为我正在读取和写入同一个磁盘......

不过,一般来说,有没有办法让 GZIPInputStream 更快?或者替代并行运行的 GZIPInputStream?

编辑 我使用的 3 代码片段:

0 投票
6 回答
14583 浏览

android - Android:读取资产文件夹中的 GZIP 文件

如何在 Android 中读取位于“资产”(或资源/原始)文件夹中的 GZIP 文件?

我尝试了以下代码,但我的流大小始终为 1。

由于某种原因,大小始终为 1。但如果我不 GZIP 文件,它工作正常。

注意: 使用安卓 1.5

0 投票
2 回答
5184 浏览

c# - GZIP Java 与 .NET

使用以下 Java 代码将 bytes[] 压缩/解压缩到 GZIP。第一个文本字节到 gzip 字节:

然后以另一种方式将字节压缩为未压缩字节的方法:

认为有什么影响,因为我没有写出一个 gzip 文件?
我还注意到,在标准 C# 函数中,BitConverter 读取前四个字节,然后调用 MemoryStream Write 函数,起点为 4,输入缓冲区长度为 4。那么这会影响标头的有效性吗?

吉姆