Java中ObjectStream序列化实现
来源:互联网 发布:域名证书打印 编辑:程序博客网 时间:2024/05/21 19:26
Person类:
package day22_IO;/* * NotSerializableException:未序列化异常 * * 类通过实现java.io.Serializable接口以启用其序列化功能。 * 未实现此接口的类将无法使其任何状态序列化或反序列化 * 该接口居然没有任何方法,类似于这种没有方法的接口被称为标记接口 * * 注意: * 我一个类中可能有很多的成员变量,有些我不想进行序列化,请问该怎么办? * 使用transient关键字声明不需要序列化的成员变量即可。 * */import java.io.Serializable;public class Person implements Serializable { /** * 添加序列化Uid,防止修改,程序报错 * * 看到类实现了序列化接口的时候,要想解决黄色警告线的问题,就可以自动产生一个序列化id的值 * 而且产生这个值以后,我们对类进行任何的改动,它读取的数据时没有问题的 */ private static final long serialVersionUID = 847108459653509398L; private String name; // private transient int age;//该成员变量不会被序列化 private int age; public Person(String name, int age) { super(); 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; } public Person() { super(); // TODO Auto-generated constructor stub } @Override public String toString() { return "Person [name=" + name + ", age=" + age + "]"; }}
测试类:
package day22_IO;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;/* * 序列化流:把对象按照流一样的方式存入文本文件或者在网络中传输。对象 -- 流(ObjectOutputStream) * 反序列化流:把文本文件的流对象数据或者网络中的流对象还原成对象。流 -- 对象(ObjectInputStream) * */public class ObjectStreamDemo { public static void main(String[] args) throws IOException, ClassNotFoundException { // TODO Auto-generated method stub //由于我们需要对对象序列化,所以我们先自定一个类 //序列化数据其实就是把对象写入到文件 write(); //读取序列化文件 read(); } private static void read() throws IOException, ClassNotFoundException { // TODO Auto-generated method stub //创建反序列化文件 ObjectInputStream ois = new ObjectInputStream(new FileInputStream("oos.txt")); //还原对象 Object obj = ois.readObject(); //释放资源 ois.close(); //输出对象,默认调用的toString方法 System.out.println(obj); } private static void write() throws IOException { // TODO Auto-generated method stub //创建序列化对象 ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("oos.txt")); //创建对象 Person p1 = new Person("林青霞", 27); //写入序列化文件中 oos.writeObject(p1); //释放资源 oos.close(); }}
阅读全文
0 0
- Java中ObjectStream序列化实现
- java-ObjectStream初步认识
- java对象流ObjectStream
- ObjectStream
- Java中序列化以及实现
- java实现序列化
- Java实现序列化
- Java实现序列化
- Java中对象的序列化(实现java.io.Serializable)
- Java 使用 ObjectStream 时的注意事项
- java中序列化
- Java中序列化
- Java中序列化
- java中为什么要实现序列化,什么时候实现序列化?
- java中为什么要实现序列化,什么时候实现序列化?
- Java中,什么是实现对象序列化?如何实现对象序列化?
- java中为什么要实现序列化,什么时候实现序列化?
- java中为什么要实现序列化,什么时候实现序列化?
- 记一下大神分享给我的chrom插件
- 常量工具类:获取屏幕宽度,密度,将密度转为像素
- 使用notepad++ FTP功能连接虚拟机中的linux系统
- linux相关-命令学习
- Cookie/Session机制详解
- Java中ObjectStream序列化实现
- 一、Docker在CentOS7下安装
- IntelliJ IDEA(2017)安装和破解
- 块存储、文件存储、对象存储本质区别
- struts2学习之---Convention插件与"约定"支持
- Android串口通信10进制转16进制
- Linux下的文件操作权限
- android 获取路径目录方法以及判断目录是否存在,创建目录
- java的数据类型