Java序列化

序列化是啥玩意?

Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据、有关对象的类型的信息和存储在对象中数据的类型。
将序列化对象写入文件之后,可以从文件中读取出来,并且对它进行反序列化,也就是说,对象的类型信息、对象的数据,还有对象中的数据类型可以用来在内存中新建对象。

使用场景有哪些?

在持久化对象时会用到对象序列化之外,当使用RMI(远程方法调用),或在网络中传递对象时,都会用到对象序列化

实现的方法?

1.implements java.io.Serializable
2.ObjectOutputStream 和 ObjectInputStream

案例

'''

    User user = new User("小红", "18988383", 19, "工程师");
    File file = new File("user.out");
    try {
        FileOutputStream fos = new FileOutputStream(file);
        ObjectOutputStream out = new ObjectOutputStream(fos);
        out.writeObject(user);
        fos.close();
        out.close();

        FileInputStream fileInputStream = new FileInputStream(file);
        ObjectInputStream inputStream = new ObjectInputStream(fileInputStream);
        User user2 = (User) inputStream.readObject();
        fileInputStream.close();
        inputStream.close();
        System.out.println("User:" + user2.toString());
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }

'''

【超链接】(http://www.jianshu.com/p/ff770511a097

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java序列化和反序列化(What) Java序列化(Serialize)是指将一个Java对象写入IO流中...
    悠扬前奏阅读 962评论 2 1
  • 一、序列化 java序列化提供了一个框架,用来将对象编码成字节流,并从字节流编码中重新构建的对象。将对象编码为字节...
    oneWeekOneTopic阅读 1,969评论 0 3
  • 正如前文《Java序列化心得(一):序列化设计和默认序列化格式的问题》中所提到的,默认序列化方法存在各种各样的问题...
    登高且赋阅读 8,732评论 0 19
  • 如果你只知道实现 Serializable 接口的对象,可以序列化为本地文件。那你最好再阅读该篇文章,文章对序列化...
    jiangmo阅读 560评论 0 2
  • java中的序列化 经常听到关于序列化的话题,但是一直没有理解什么是序列化,为什么要序列化。 首先百度了一下序列化...
    lothar_cly阅读 703评论 0 4

友情链接更多精彩内容