Java IO流对象的序列化和反序列化实例详解
Java—IO流 对象的序列化和反序列化
序列化的基本操作
1.对象序列化,就是将Object转换成byte序列,反之叫对象的反序列化。
2.序列化流(ObjectOutputStream),writeObject 方法用于将对象写入输出流中;
反序列化流(ObjectInputStream),readObject 方法用于从输入流中读取对象。
3.序列化接口(Serializeable)
对象必须实现序列化接口,才能进行序列化,否则会出现异常。这个接口没有任何方法,只是一个标准。
package com.test.io; import java.io.FileInputStream; import java.io.FileOutputStream;import java.io.ObjectInputStream; import java.io.ObjectOutputStream; public class ObjectSerialzeTest { /** * 对象的序列化 * @param file * @throws Exception */ public void ObjectOutput (String file) throws Exception { ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(file)); Student stu = new Student("002", "张四", 12); oos.writeObject(stu); oos.flush(); oos.close(); } /** * 对象的反序列化 * @param file * @throws Exception */ public void ObjectInput(String file) throws Exception { ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file)); Student stu = (Student)ois.readObject(); System.out.println(stu.toString()); ois.close(); } public static void main(String[] args) throws Exception { String file = "F:\\javaio\\obj.dat"; ObjectSerialzeTest ost = new ObjectSerialzeTest(); ost.ObjectOutput(file); ost.ObjectInput(file); } }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关文章
java.net.SocketException: Connection reset 解决方法
最近纠结致死的一个java报错java.net.SocketException: Connection reset 终于得到解决2013-03-03Spring Boot实现异步请求(Servlet 3.0)
在spring 3.2 及以后版本中增加了对请求的异步处理,这篇文章主要介绍了Spring Boot实现异步请求(Servlet 3.0),感兴趣的小伙伴们可以参考一下。2017-04-04Java中的synchronized和ReentrantLock的区别详细解读
这篇文章主要介绍了Java中的synchronized和ReentrantLock的区别详细解读,synchronized是Java内建的同步机制,所以也有人称其为 IntrinsicLocking,它提供了互斥的语义和可见性,当一个线程已经获取当前锁时,其他试图获取的线程只能等待或者阻塞在那里,需要的朋友可以参考下2024-01-01
最新评论