对象流序列化
来源:互联网 发布:安卓休闲游戏 知乎 编辑:程序博客网 时间:2024/05/22 01:49
今天看书学了个貌似很牛逼的东西,可以用ObjectOutputStream把对象写入文件,可以用ObjectInputStream从文件读取对象。
作为菜鸟,我浅显的认为,这是个非常有用的功能。比如,打开一个应用程序,它有窗口,必然是个对象,窗口的位置,大小,还有内部控件的摆放位置,肯定是在对象中由成员属性来设置的,如果在关闭程序之前,将这个对象写入文件,当下次再打开这个软件的时候,读取这个文件中的对象,这样,就记录了用户的个人习惯,是一个不错的功能。当然,还可能通过改注册表什么的来实现这样的机制。有些习惯还可以直接存储到服务器的数据库上,这些都是可以的。
这里,把代码再敲一敲,复习巩固一下。
先写一个最常用的Employee类,它必须实现一个Serializable接口,才能被序列化。代码如下:
class Employee implements Serializable{ private String name; private double salary; public Employee(String aName, double aSalary) { this.name = aName; this.salary = aSalary; } public String toString() { return "name = " + this.name + " salary = " + this.salary; }}
接下来主函数里写上调试的代码,代码如下:
try {
//构造两个对象 Employee e1 = new Employee("kross", 123); Employee e2 = new Employee("ghost", 567.55);
//打开一个对象输出流 ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("object.txt"));
//把两个对象一次写入 out.writeObject(e1); out.writeObject(e2);
//打开一个对象输入流 ObjectInputStream in = new ObjectInputStream(new FileInputStream("object.txt"));
//通过输入流把读到的对象传入e3 Employee e3 = (Employee) in.readObject();
//调用下toString()方法 System.out.println(e3.toString()); //结果:name = kross salary = 123.0} catch(IOException e) { }
0 0
- 对象流序列化
- Java对象序列化(对象->字节流)
- 序列化---使用对象流实现序列化
- 关于序列化:把某个对象序列化成字节流
- java__io__序列流(合并MP3)和对象序列化
- IO流-转换流、对象序列化
- IO流-对象序列化操作流
- 转换流及对象的序列化
- 管道流与对象序列化
- IO流对象的序列化
- 52.IO流-对象的序列化
- 关于序列化和对象流
- Java IO流(对象序列化)
- IO流(对象的序列化)
- 使用对象流实现序列化
- 使用对象流实现序列化
- IO流--对象的序列化
- java对象流与序列化
- Lua中调用C/C++函数
- 机器学习-学习笔记3.1-局部加权回归
- (未完成)上课笔记-营销管理(二)
- Java去除字符串多余空格以及首尾空格
- log--logback--日志在windows上可以打印,在linux上不能打印的问题
- 对象流序列化
- php获取目标函数执行时间
- AsyncTask下载图片异步更新UI
- iOS开发小技巧总结
- 看Google官方的Android开发文档的一些收获
- 用对象序列化与文件读写保存用户的设置
- Linux学习笔记1
- Linux学习笔记2
- IF与SWITCH