对象的序列化
2016-05-26 19:41
232 查看
序列化是一种用来处理对象流的机制,所谓对象流就是将对象的内容流化,可以对流化的**对象进行读写操作**,也可以将流化后的对象传输于网络之间. 序列化的实现:implements Serializable (只是为了标注该对象可被序列化)
实体类:
import java.io.Serializable; public class Student implements Serializable{ private String name; private transient int age;//transient 修饰的属性 默认不会进行序列化 public Student() { super(); } public Student(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; } @Override public String toString() { return "Student [name=" + name + ", age=" + age + "]"; } }
读写操作
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; public class StuTest { public static void main(String[] args) { writeObj(); readObj(); } public static void writeObj() { Student stu = new Student("张三", 20); ObjectOutputStream oos = null; try { oos = new ObjectOutputStream(new FileOutputStream("E:\\obj.dat")); oos.writeObject(stu); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { System.out.println("write ok"); try { oos.close(); } catch (IOException e) { e.printStackTrace(); } } } public static void readObj() { ObjectInputStream ois = null; try { ois = new ObjectInputStream(new FileInputStream("E:\\obj.dat")); Student stu = (Student) ois.readObject(); System.out.println(stu); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } finally { try { ois.close(); } catch (IOException e) { e.printStackTrace(); } } } }
相关文章推荐
- LeetCode OJ 55. Jump Game
- bzoj 4605: 崂山白花蛇草水
- Linq 数据操作,两个数组求差、交集、并集
- mysql foreign key
- 解决百度鹰眼服务浏览器的跨域访问题
- PAT 1008 Elevator
- oracle基本知识
- 【转】margin:0 auto 与 text-align:center 的区别
- Linux命令-Screen(窗口管理器、一个窗口玩转Linux)
- PAT 1008 Elevator
- Elasticsearch初探
- 《Python基础教程》学习笔记 Chap4 字典:当索引不好用时
- hadoop升级后,hive报错
- Lua的pcall错误处理
- N任务
- [RxJS] Combination operator: withLatestFrom
- python中的*args 和**kwargs
- CFBundleVersion与CFBundleShortVersionString区别
- fiddler+willow使用和配合真机测试调试
- 1428 活动安排问题