【发布时间】:2012-08-27 08:24:22
【问题描述】:
我是 Java 新手。我想学习使用 GZIPstreams。我已经试过了:
ArrayList<SubImage>myObject = new ArrayList<SubImage>(); // SubImage is a Serializable class
ObjectOutputStream compressedOutput = new ObjectOutputStream(
new BufferedOutputStream(new GZIPOutputStream(new FileOutputStream(
new File("....")))));
compressedOutput.writeObject(myObject);
和
ObjectInputStream compressedInput = new ObjectInputStream(
new BufferedInputStream(new GZIPInputStream(new FileInputStream(
new File("....")))));
myObject=(ArrayList<SubImage>)compressedInput.readObject();
当程序将myObject写入文件时没有抛出任何异常,但是当它到达该行时
myObject=(ArrayList<SubImage>)compressedInput.readObject();
它抛出这个异常:
Exception in thread "main" java.io.EOFException: Unexpected end of ZLIB input stream
我该如何解决这个问题?
【问题讨论】:
-
你关闭了输出流吗?
标签: java stream compression gzip gzipinputstream