对象的序列化和反序列化
2015-09-12 15:44
309 查看
对象序列化,就是将Object转换成byte序列,反之叫对象的反序列化
序列化流(ObjectOutputStream),是过滤流–writeObject
反序列化流(ObjectInputStream),是过滤流–readObject
序列化接口(Serializable)
对象必须实现序列化接口,才能进行序列化,否则将出现异常
这个接口,没有任何方法,只是一个标准
测试
实体类:
主类:
注:实体类必须实现序列化,否则会报异常
序列化流(ObjectOutputStream),是过滤流–writeObject
反序列化流(ObjectInputStream),是过滤流–readObject
序列化接口(Serializable)
对象必须实现序列化接口,才能进行序列化,否则将出现异常
这个接口,没有任何方法,只是一个标准
测试
实体类:
public class Student implements Serializable{ private String stuno; private String stuname; private int age; public Student(){ } public Student(String stuno, String stuname, int age) { super(); this.stuno = stuno; this.stuname = stuname; this.age = age; } public String getStuno() { return stuno; } public void setStuno(String stuno) { this.stuno = stuno; } public String getStuname() { return stuname; } public void setStuname(String stuname) { this.stuname = stuname; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "Student [stuno=" + stuno + ", stuname=" + stuname + ", age=" + age + "]"; } }
主类:
//对象的序列化 String file="obj.dat";//文件路径 ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream(file)); Student st=new Student("1001", "Tom", 12); oos.writeObject(st); oos.flush();//刷新 oos.close(); //对象的反序列化 ObjectInputStream ois=new ObjectInputStream(new FileInputStream(file)); Student object=(Student) ois.readObject(); System.out.println(object.toString()); ois.close();
注:实体类必须实现序列化,否则会报异常
相关文章推荐
- C#自定义序列化ISerializable的实现方法
- c#数据的序列化和反序列化(推荐版)
- c#序列化详解示例
- c#对象反序列化与对象序列化示例详解
- .net实现序列化与反序列化实例解析
- C#实现复杂XML的序列化与反序列化
- C#中Serializable序列化实例详解
- C#实现的json序列化和反序列化代码实例
- C#序列化与反序列化(Serialize,Deserialize)实例详解
- C#二进制序列化实例分析
- asp.net 序列化and反序列化演示
- Json序列化和反序列化方法解析
- 解析PHP多种序列化与反序列化的方法
- 深入理解Java对象的序列化与反序列化的应用
- C#反序列化到类的实现方法
- 【Python之旅】第三篇(二):Pickle序列化
- WebLogic 10.3.6.0 升级反序列化漏洞补丁
- Hadoop序列化&Java序列化
- dubbo序列化问题(三)子类覆盖父类字段hession反序列化获取不到
- Gson序列化字段排除