Java IO流对象的序列化和反序列化实例详解

 更新时间:2017年05月16日 10:30:29   投稿:lqh  
这篇文章主要介绍了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控制台实现学生信息管理系统(IO版)

    java控制台实现学生信息管理系统(IO版)

    这篇文章主要为大家详细介绍了java控制台实现学生信息管理系统(IO版),文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-04-04
  • Java并发多线程编程之CountDownLatch的用法

    Java并发多线程编程之CountDownLatch的用法

    这篇文章主要介绍了Java并发多线程编程之CountDownLatch的用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Spring Boot 条件注解详情

    Spring Boot 条件注解详情

    这篇文章主要介绍了Spring Boot 条件注解详情,SpringBoot条件注解@Conditional,可用于根据某个特定的条件来判断是否需要创建某个特定的Bean,下文更多相关介绍,需要的小伙伴可以参考一下
    2022-05-05
  • SpringBoot自动装配原理详解

    SpringBoot自动装配原理详解

    这篇文章主要介绍了SpringBoot自动装配原理的相关资料,帮助大家更好的理解和学习使用SpringBoot框架,感兴趣的朋友可以了解下
    2021-03-03
  • java.net.SocketException: Connection reset 解决方法

    java.net.SocketException: Connection reset 解决方法

    最近纠结致死的一个java报错java.net.SocketException: Connection reset 终于得到解决
    2013-03-03
  • Spring Boot实现异步请求(Servlet 3.0)

    Spring Boot实现异步请求(Servlet 3.0)

    在spring 3.2 及以后版本中增加了对请求的异步处理,这篇文章主要介绍了Spring Boot实现异步请求(Servlet 3.0),感兴趣的小伙伴们可以参考一下。
    2017-04-04
  • Java中的synchronized和ReentrantLock的区别详细解读

    Java中的synchronized和ReentrantLock的区别详细解读

    这篇文章主要介绍了Java中的synchronized和ReentrantLock的区别详细解读,synchronized是Java内建的同步机制,所以也有人称其为 IntrinsicLocking,它提供了互斥的语义和可见性,当一个线程已经获取当前锁时,其他试图获取的线程只能等待或者阻塞在那里,需要的朋友可以参考下
    2024-01-01
  • jetty运行时无法保存文件的解决方法

    jetty运行时无法保存文件的解决方法

    这篇文章主要为大家详细介绍了jetty运行时无法保存文件的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • Java Clone深拷贝与浅拷贝的两种实现方法

    Java Clone深拷贝与浅拷贝的两种实现方法

    今天小编就为大家分享一篇关于Java Clone深拷贝与浅拷贝的两种实现方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • Java代码实现微信页面滚动防露底(核心代码)

    Java代码实现微信页面滚动防露底(核心代码)

    这篇文章主要介绍了Java代码实现微信页面滚动防露底的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09

最新评论