读写序列化类的例子
2008-01-05 10:45:23 来源:WEB开发网核心提示:目的: 保存序列化类到文件,然后从文件中读取保存的序列化类概念: 序列化类: 所谓序列化类,实际上就是将类本身所有信息变成流格式进行保存传输等功能.这点对于远程调用(RMI)非常重要.可以将序列化类变成流格式通过网络传送到远端,再由远端进行"组装"恢复成和本地一样的情况而远端预先不需要知道任何情况.
目的: 保存序列化类到文件,然后从文件中读取保存的序列化类
概念: 序列化类: 所谓序列化类,实际上就是将类本身所有信息变成流格式进行保存传输等功能.这点对于远程调用(RMI)非常重要.可以将序列化类变成流格式通过网络传送到远端,再由远端进行"组装"恢复成和本地一样的情况而远端预先不需要知道任何情况.
代码: Test_Ser.java
import java.util.Vector;
import java.io.*;
public class Test_Ser
{
public static void main(String[] args) throws Exception
{
Vector v = new Vector(); // 生成一个向量表
v.add(new String("Test String"));// 增加一个字符串对象
FileOutputStream ostream = new FileOutputStream("d:\\test.ser");// 构造文件输出流
ObjectOutputStream p = new ObjectOutputStream(ostream);// 绑定
p.writeObject(v); // 输出继续了序列化接口的类
p.flush();
p.close();
ostream.close();
v.clear(); // 清空向量表,此时的v.size()应该为0
FileInputStream istream = new FileInputStream("d:\\test.ser"); // 构造文件输入流
ObjectInputStream PR = new ObjectInputStream(istream); // 绑定
v = (Vector)pr.readObject(); // 读入序列化的类
istream.close();
System.out.println("v.size()="+v.size()); //验证读入类的正确性
System.out.println("v.get(0)="+(String)v.get(0));
}
}
说明:Vector类是继续了Serializable接口的.这个接口就是实现序列化的接口.我们需要序列化的类其实只要简单地继续一下Serializable接口就可以进行保存传输等工作.
更多精彩
赞助商链接