有什么问题GZIPInputStream
或GZIPOutputStream
。请阅读以下代码(或运行它,看看会发生什么):
def main(a: Array[String]) {
val name = "test.dat"
new GZIPOutputStream(new FileOutputStream(name)).write(10)
println(new GZIPInputStream(new FileInputStream(name)).read())
}
它创建一个文件test.dat
,10
通过GZIP 写入单个字节格式,并以相同html" target="_blank">格式读取同一文件中的字节。
这就是我运行的内容:
Exception in thread "main" java.io.EOFException: Unexpected end of ZLIB input stream
at java.util.zip.InflaterInputStream.fill(Unknown Source)
at java.util.zip.InflaterInputStream.read(Unknown Source)
at java.util.zip.GZIPInputStream.read(Unknown Source)
at java.util.zip.InflaterInputStream.read(Unknown Source)
at nbt.Test$.main(Test.scala:13)
at nbt.Test.main(Test.scala)
由于某些原因,阅读线似乎走错了路。
我搜索了该错误,Unexpected end of ZLIB input stream
并发现了一些有关Oracle的错误报告,这些错误报告是在2007-2010年间发布的。因此,我认为该错误仍然存在,但是我不确定我的代码是否正确,因此让我在此处发布并听取您的建议。谢谢!
您必须先呼叫close()
,GZIPOutputStream
然后再尝试阅读。文件的最后字节将仅在文件实际关闭时写入。(这与输出堆栈中的任何显式缓冲flush()
无关。当您告诉它关闭时,流仅知道压缩并写入最后一个字节。A
可能无济于事,尽管调用finish()
而不是close()
应该起作用。 javadocs。)
这是正确的代码(在Java中);
package test;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;
public class GZipTest {
public static void main(String[] args) throws FileNotFoundException, IOException {
String name = "/tmp/test";
GZIPOutputStream gz = new GZIPOutputStream(new FileOutputStream(name));
gz.write(10);
gz.close();
System.out.println(new GZIPInputStream(new FileInputStream(name)).read());
}
}
(我没有正确实现资源管理。不要将其视为“良好代码”的示例。)
我试图读取字节数组的内容创建gzip一个对象,但是当我试图解压缩字节数组的内容我得到一个错误声明:java.io.EOFException:意外结束ZLIB输入流 我试图使用java的try with resources习惯用法来管理流资源,同时压缩和解压缩一个对象,但是如果我将ByteArrayOutputStream添加到try with resources块中,另一个流ObjectOutpu
问题内容: 我正在使用fetch()从api服务器获取数据。我的错误如下所示: 你能告诉我我在做什么错。 问题答案: 一种用于响应请求到跨源资源具有“不透明”的响应类型。如果在尝试将响应转换为JSON之前记录响应,您将看到一种“不透明”的类型。 不透明类型被列为“严重受限”。 不透明的已过滤响应是已过滤的响应,其类型为“不透明”,URL列表为空列表,状态为0,状态消息为空字节序列,标头列表为空,主
我使用fetch()从api服务器获取数据。我的错误是这样的: 你能告诉我我做错了什么吗。
问题内容: 我是Hibernate的新手。 我有一个POJO,其中包含一个标签。标签包含在该表的另一个数据库表中,因此我进行了连接以填充pojo。 我正在尝试从我的《 Java Persistance with Hibernate》一书中运行一个简单的示例查询。只是出于某种原因,我得到了 是什么导致此问题? 这是我的POJO: 问题答案: 对于基元集合,应使用HQL查询,如下所示: PS:因为“标
我得到了的意外结束。代码对我来说很好,我错过了什么? 安慰:
[`const express=require('express');const app=express();const https=require('https'); 常量url=“https://api.thevirustracker.com/free-api?countrytimeline=US”; app.get(“/”,(req,res)=>{res.send(“server is ru