Java对象的序列化都必须实现Serializable接口,所谓的序列化就是把对象序列化之后保存在文件里面,比如d:\1.txt里面,它里面保存的是属性。反序列化就是直接读取文件里面的属性。
话不多说,直接看个例子:
import java.io.Serializable; public class Student implements Serializable{//实现序列化接口 private static final long serialVersionUID = 1L;//JDK的版本不统一,统一JDK序列化的版本 private String name; private int age; public Student(String name,int age){ this.name=name; this.age=age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
测试类:
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.ObjectInputStream; import java.io.ObjectOutput; import java.io.ObjectOutputStream; import java.io.OutputStream; public class Test2 { public static void main(String[] args) throws Exception{ //对象的序列化操作 Student student=new Student("张三", 20);//实例化对象 File file=new File("D:\\B.txt");//保存的文件 OutputStream outputStream=new FileOutputStream(file);//转化为输出流 ObjectOutputStream objectOutputStream=new ObjectOutputStream(outputStream);//序列化操作流 objectOutputStream.writeObject(student);//把对象向文件里面写入 objectOutputStream.close(); outputStream.close(); //对象的反序列化操作 InputStream inputStream=new FileInputStream(file);//文件流 ObjectInputStream objectInputStream=new ObjectInputStream(inputStream);//反序列化操作流 Student s=(Student) objectInputStream.readObject();//从文件当中读取序列化的对象 System.out.println(s.getName()+","+s.getAge());//打印出内容 objectInputStream.close(); inputStream.close(); } }
其实序列化保存的是对象的属性,读取也是读取的对象的属性,主要是
序列化:ObjectOutputStream
反序列化: ObjectInputStream
一般对象我们不推荐序列化,因为到目前为止,Serializable接口只是个标识接口,里面没有任何的方法。一旦jdk升级,以前写的代码都要改,很麻烦。
相关推荐
Xson是一个Java对象序列化和反序列化程序。支持Java对象到字节数组的序列化,和从字节数组到Java对象的反序列化。 Maven: <groupId>com.github.xsonorg</groupId> <artifactId>xson-core <version>1.0.1 ...
java 序列化对象 MARSHALLING UNMARSHALLING
在java.beans包中,有两个好东西,XMLEncoder和XMLDecoder。从XML存取对象真是太费力气啦。做了小工具类,以后可以用用了。本文介绍了这两个可以把JAVA对象序列化保存为XML文件的工具类。
序列化的过程就是对象写入字节流和从字节流中读取对象。...对象序列化功能非常简单、强大,在RMI、Socket、JMS、EJB都有应用。对象序列化问题在网络编程中并不是最激动人心的课题,但却相当重要,具有许多实用意义。
这是Java序列化标准规范,对于研究序列化源码能够提供指导作用,为深入研究Java序列技术奠定基础。
Java对象序列化详细解析.docJava对象序列化详细解析.docJava对象序列化详细解析.docJava对象序列化详细解析.docJava对象序列化详细解析.docJava对象序列化详细解析.docJava对象序列化详细解析.docJava对象序列化详细...
Java对象序列化,提供介绍,仅供参考,希望能帮助到学习的人!
NULL 博文链接:https://pxchen.iteye.com/blog/701552
一个java 对象序列化的测试程序 . 。
java对象 java序列化 java反序列化
Java对象序列化的秘密
本文介绍了Java对象序列化的五种方式,并提供了选择最适合应用程序的数据格式和技术所需要的全部信息。这篇文章侧重于可以用来生成 Java对象以数据为中心的视图的技术。演示可以把 JavaBeans变成XML文档的各种方法,...
对象序列化.ppt 对象序列化.ppt 对象序列化.ppt 对象序列化.ppt 对象序列化.ppt
关于Java对象序列化您不知道的5件事Java开发Java经验技巧共11页.pdf.zip
将Java对象序列化成ISO-8859-1、Base64字节流和Xml字符串三种方式。
java 对象的序列化与反序列化 java 对象的序列化与反序列化
主要介绍了java对象序列化与反序列化的默认格式和json格式使用示例,需要的朋友可以参考下
Java对象序列化详细解析[参考].pdf
所谓对象序列化就是将对象的状态转换成字节流,以后可以通过这些值再生成相同状态的对象。这个过程也可以通过...像RMI、Socket、JMS、EJB它们中的一种,彼此为什么能够传递Java对象,当然都是对象序列化机制的功劳。
Java中的序列化机制有两种实现方式: 一种是实现Serializable接口 另一种是实现Externalizable接口 区别: 实现Serializable接口 1 系统自动储存必要的信息 2 Java内建支持,易于实现,只需实现该接口即可,无须任何...