java序列化(对象流)
来源:互联网 发布:cadence软件介绍 编辑:程序博客网 时间:2024/06/12 20:10
java序列化(对象流)
序列化
- 目的:将对象保存到硬盘中,或者网络中传输对象
- 机制:将Java对象转换为字节序列,序列可以保存硬盘,或网络传输
- 代码:实现Serializable或者Externalizable接口
- 序列化版本标识符:private static final long serialVersionUID
- 注意:不能序列化static修饰的成员变量;对象中的任何成员变量必须实现Serializable接口
class Person implements Serializable { private static final long serialVersionUID = 124213453255L; private String name; private int age; public Person(String name, int age) { super(); this.name = name; this.age = age; } @Override public String toString() { return "Person [name=" + name + ", age=" + age + "]"; }}
对象流
- ObjectOutputStream:将Java对象写入IO流(序列化Serialize)
- ObjectInputStream:从IO流中恢复Java对象
- 注意:不能序列化static修饰的成员变量;对象中的任何成员变量必须实现Serializable接口
@Test public void testObjectOutputStream() { Person p1 = new Person("张三",20); Person p2 = new Person("李四",20); ObjectOutputStream oos = null; try { oos = new ObjectOutputStream(new FileOutputStream("person.txt")); oos.writeObject(p1); oos.flush(); oos.writeObject(p2); oos.flush(); } catch (IOException e) { e.printStackTrace(); } finally { if (oos != null) { try { oos.close(); } catch (IOException e) { e.printStackTrace(); } } } }
@Test public void testObjectInputStream() { ObjectInputStream ois = null; try { ois = new ObjectInputStream(new FileInputStream("person.txt")); Person p1 = (Person)ois.readObject(); System.out.println(p1); Person p2 = (Person)ois.readObject(); System.out.println(p2); } catch (Exception e) { e.printStackTrace(); } finally { if (ois != null) { try { ois.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
Person [name=张三, age=20]
Person [name=李四, age=20]
阅读全文
0 0
- Java IO流(对象序列化)
- java序列化(对象流)
- Java对象序列化(对象->字节流)
- Java对象序列化
- Java对象序列化
- Java对象序列化
- Java对象序列化
- java对象序列化
- Java 对象序列化
- Java 对象序列化
- Java对象序列化
- Java对象序列化
- java对象序列化
- Java 对象序列化
- java对象序列化
- Java-对象序列化
- java对象序列化
- JAVA对象序列化
- RTMP推流摄像头设计实现0
- 利用Azure搭建自己的个人网站 ————TWO
- 86. Partition List
- Python 日志分割
- 最大的最大公约数
- java序列化(对象流)
- hdu 3472 HS BDC
- 2016-2017年度总结--行走在织梦的路上
- Java中String、StringBuffer与StringBuilder
- 机器学习入门笔记(四)----逻辑回归
- Asp.net 页面之间传递参数
- C# 关键字总结
- WPF中弹出模态窗口
- Python 多进程