JAVA——对象的序列化Serializable
2016-06-24 21:34
351 查看
import java.io.*; class Person implements Serializable { public static final long serialVersionUID = 42L; private String name; transient int age; static String country = "cn"; Person(String name,int age,String country) { this.name = name; this.age = age; this.country = country; } public String toString() { return name+":"+age+":"+country; } }
这里有几个需要注意的地方:
(1)静态变量不被序列化:static String country = “cn”;
(2)加上transient的变量不被序列化;
(3)编译时候系统会自动计算序列化的一个标识码,为了不让每次修改一点对象就序列化不了,我门可以使用public static final long serialVersionUID = 42L;
import java.io.*; class ObjectStreamDemo { public static void main(String[] args) throws Exception { //writeObj(); readObj(); } public static void readObj()throws Exception { ObjectInputStream ois = new ObjectInputStream(new FileInputStream("obj.txt")); Person p = (Person)ois.readObject(); System.out.println(p); ois.close(); } public static void writeObj()throws IOException { ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("obj.txt")); oos.writeObject(new Person("lisi0",399,"kr")); oos.close(); } }
ObjectInputStream和ObjectOutputStream是相对应的。
readObject和writeObject是相对应的。
相关文章推荐
- JAVA中this用法小结
- 轻松搞定java内存模型(五)常用命令jps
- Java学习(1)
- ssh整合是Caused by: java.io.FileNotFoundException: class path resource [bean/test/User.hbm.xml] cannot
- java解析XML文件
- 毕向东视频学习笔记【Java_Day10 多态+内部类】
- Java compiler level does not match的解决方法
- SpringIOC容器
- Java-排序算法2
- Java 用两种方法实现插入排序
- spring mvc 传中文 到controller层乱码的 解决方法
- eclipse编译问题
- Java设计模式——适配器模式
- 深入理解Java的接口和抽象类
- Java-排序算法1
- 【SpringMVC学习08】SpringMVC中实现文件上传
- 使用MyEclipse添加Hibernate支持和反向工程生成映射关系
- java基础知识点罗列
- 深入SpringBoot:自定义Endpoint
- Java序列化的作用和反序列化