问题标签 [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.
java - 如何解压缩字节数组中的压缩数据?
我有一个类,它有一个接收对象作为参数的方法。此方法通过 RMI 调用。
MyFile 有一个名为“body”的属性,它是一个字节数组。
此属性保存由另一个应用程序解析的文件的 gzip 压缩数据。
在使用它执行进一步操作之前,我需要解压缩这个字节数组。
我看到的所有解压缩 gzip 数据的示例都假设我想将其写入磁盘并创建一个物理文件,但我没有这样做。
我该怎么做呢?
提前致谢。
java - GZIPInputStream 逐行读取
我有一个 .gz 格式的文件。用于读取此文件的 java 类是 GZIPInputStream。但是,这个类并没有扩展 java 的 BufferedReader 类。结果,我无法逐行读取文件。我需要这样的东西
我想创建我的类来扩展 Java 的 Reader 或 BufferedReader 类,并使用 GZIPInputStream 作为其变量之一。
但是,这在我使用时不起作用
有人可以建议如何进行..
java - 每当尝试创建 GzipInputstream 时,客户端代码“随机”失败
我有一个基本上可以满足多个客户的服务器。我基本上使用 gzip(input/output)stream 来压缩客户端-服务器之间的数据。
许多客户端可以同时向服务器发送请求,因此我有一个线程来满足每个客户端的需求。
现在,我遇到的问题是,在建立与服务器的连接后,每当尝试执行以下操作时,某些客户端代码“随机”失败。
我明白了java.io.EOFException
。
当我说随机时,我的意思是在异常中找不到任何模式。请求正在正确发送(否则它将不适用于任何客户端请求)。
我已经搜索了很多..但找不到任何东西.. :(
关于上述问题的任何指示?
接受新连接并产生新线程的服务器代码。
线程内的代码..
这是我得到的异常的堆栈跟踪:
java - Java中PHP的gzuncompress函数?
我正在使用 PHP 的 gzcompress() 函数压缩字符串:
http://us2.php.net/manual/en/function.gzcompress.php
我想从 PHP 压缩函数中获取输出并在 Java 中解压缩字符串。任何人都可以让我走上正确的道路吗?
非常感谢!
c# - C# 到 Java:Base64String、MemoryStream、GZipStream
我有一个已在 .NET 中压缩的 Base64 字符串,我想将其转换回 Java 中的字符串。我正在寻找 C# 语法的一些 Java 等价物,特别是:
- Convert.FromBase64String
- 记忆流
- GZipStream
这是我想转换的方法:
任何指针表示赞赏。
java-me - J2ME 的 GZIPInputStream 实现
是否有适用于 J2ME 的 GZIPInputStream 实现。我更喜欢 Apache 风格的许可证
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 格式”)。哇,我只是想用分号结束那个括号。无论如何,这是我的第二次尝试,但仍然不起作用:
java - 如何让 Java 将我的多核处理器与 GZIPInputStream 一起使用?
我在我的程序中使用了 GZIPInputStream,我知道如果我能让 Java 并行运行我的程序,性能会有所帮助。
一般来说,标准虚拟机是否有一个命令行选项可以在多核上运行?它只在一个上运行。
谢谢!
编辑
我在 Windows XP 上运行普通的 Java SE 6 更新 17。
将 GZIPInputStream 放在单独的线程上会显式帮助吗?不!不要将 GZIPInputStream 放在单独的线程上!不要多线程 I/O!
编辑 2
我想 I/O 是瓶颈,因为我正在读取和写入同一个磁盘......
不过,一般来说,有没有办法让 GZIPInputStream 更快?或者替代并行运行的 GZIPInputStream?
编辑 我使用的 3 代码片段:
android - Android:读取资产文件夹中的 GZIP 文件
如何在 Android 中读取位于“资产”(或资源/原始)文件夹中的 GZIP 文件?
我尝试了以下代码,但我的流大小始终为 1。
由于某种原因,大小始终为 1。但如果我不 GZIP 文件,它工作正常。
注意: 使用安卓 1.5
c# - GZIP Java 与 .NET
使用以下 Java 代码将 bytes[] 压缩/解压缩到 GZIP。第一个文本字节到 gzip 字节:
然后以另一种方式将字节压缩为未压缩字节的方法:
认为有什么影响,因为我没有写出一个 gzip 文件?
我还注意到,在标准 C# 函数中,BitConverter 读取前四个字节,然后调用 MemoryStream Write 函数,起点为 4,输入缓冲区长度为 4。那么这会影响标头的有效性吗?
吉姆