在上一个示例中,如何压缩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'}]