Java中对文件的序列化和反序列化
2017-03-10 14:28
351 查看
public class ObjectSaver { public static void main(String[] args) throws Exception { /*其中的 D:\\objectFile.obj 表示存放序列化对象的文件*/ //序列化对象 ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("c:\\test\\objectFile.obj")); Customer customer = new Customer("王麻子", 24); out.writeObject("你好!"); //写入字面值常量 out.writeObject(new Date()); //写入匿名Date对象 out.writeObject(customer); //写入customer对象 out.close(); //反序列化对象 ObjectInputStream in = new ObjectInputStream(new FileInputStream("c:\\test\\objectFile.obj")); System.out.println("obj1 " + (String) in.readObject()); //读取字面值常量 System.out.println("obj2 " + (Date) in.readObject()); //读取匿名Date对象 Customer obj3 = (Customer) in.readObject(); //读取customer对象 System.out.println("obj3 " + obj3); in.close(); } } class Customer implements Serializable { private String name; private int age; public Customer(String name, int age) { this.name = name; this.age = age; } public String toString() { return "name=" + name + ", age=" + age; } }
所谓的Serializable,就是java提供的通用数据保存和读取的接口。至于从什么地方读出来和保存到哪里去都被隐藏在函数参数的背后了。这样子,任何类型只要实现了Serializable接口,就可以被保存到文件中,或者作为数据流通过网络发送到别的地方。也可以用管道来传输到系统的其他程序中。这样子极大的简化了类的设计。只要设计一个保存一个读取功能就能解决上面说得所有问题。
相关文章推荐
- Java序列化与反序列化,文件操作
- XStream java对象和json文件进行序列化和反序列化
- java中的序列化与反序列化,还包括将多个对象序列化到一个文件中
- Java中List或者HashMap对象-序列化和反序列化并附读写文件操作
- Java 对象直接写入文件 --序列化和反序列化
- 文章标题 Java中io流的一些简单操作(包含文件复制,向硬盘中写入文本文件,以及io流高级应用序列化和反序列化)
- java序列化,反序列化及反序列如何判断是否已读到文件末尾
- Java 序列化反序列化文件
- Java 序列化与反序列化 —— 序列化为一般二进制格式文件
- Java对象的序列化和反序列化
- java中的序列化和反序列化
- Java Json/xml 序列化和反序列化 工具:JsonTools 和 simpleframework 附带实例
- Java对象的序列化和反序列化
- JAVA语言序列化和反序列化
- [分享][原创] C#序列化/反序列化对象.将对象写入文件,从文件读取对象.
- Java对象的序列化和反序列化
- Java Json/xml 序列化和反序列化 工具:JsonTools 和 simpleframework 附带实例
- java之对象序列化和反序列化
- ser文件与Java对象序列化
- Java对象的序列化和反序列化实践