之前给大家介绍了如何实现java序列化的内容,那么下面要接着给大家介绍的就是java反序列化的内容,一起来看看。
将二进制数据换回原对象,构造方法:ObjectInputStream(InputStream in),方法: Object readObject() 从 ObjectInputStream 读取对象
public class Serialization { public static File file = null; public static void main(String[] args) throws Exception, IOException { file = new File("serialize.doc"); //序列化到指定的文本 ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(file)); oos.writeObject(new Book("Java Development", 45.3)); oos.flush(); oos.close(); file = new File("serialize.doc"); //反序列化到指定的文本 ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file)); Object obj = ois.readObject(); Book book = (Book) obj; System.out.println("\n By using the byte stream serialization operation, " + "we can see the following information:\n" + book); ois.close(); } }
延伸阅读:
无序列化
类某些属性不需要序列化,以上序列化和反序列化实现了的对象序列化,但是能够发现,操作的时候是将整个对象的所有属性序列化,那么transient关键字可以将某些内容不需要保存,就可以通过transient关键字来定义:private transient String title;此时title属性无法被序列化
java反序列化的一些内容就给你介绍到这里了,更多java常见问题及解决方法,请继续关注奇Q工具网来进行了解吧。
推荐阅读: