我是 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
我怎么解决这个问题?