在上一个示例中,如何压缩Java对象?我们已经设法压缩Java对象并将它们存储在文件中。在此示例中,我们将读取文件并重建压缩的对象。对于User该类,您可以在上述前面的示例中看到。
package org.nhooo.example.zip;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.util.zip.GZIPInputStream;
public class UnzipObjectDemo {
public static void main(String[] args) {
File file = new File("user.dat");
try (FileInputStream fis = new FileInputStream(file);
GZIPInputStream gis = new GZIPInputStream(fis);
ObjectInputStream ois = new ObjectInputStream(gis)) {
User admin = (User) ois.readObject();
User foo = (User) ois.readObject();
System.out.println("Admin = [" + admin + "]");
System.out.println("Foo = [" + foo + "]");
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
}
}运行上面的代码片段将为我们提供以下输出:
Admin = [User{id=1, username='admin', password='secret', firstName='System', lastName='Administrator'}]
Foo = [User{id=2, username='foo', password='secret', firstName='Foo', lastName='Bar'}]