序列化与反序列化及为何要实现Serializable接口
来源:互联网 发布:手机app赚钱软件 编辑:程序博客网 时间:2024/06/05 00:56
好记性不如赖笔头……
为何要实现Serializable接口:Serializable接口是启用其序列化功能的接口。实现java.io.Serializable 接口的类是可序列化的。没有实现此接口的类将不能使它们的任一状态被序列化或逆序列化。
序列化:将class文件及内容通过流写入到文件中(也称为持久化),
反序列化:读取文件内容转为指定的class类并填充其读取到的内容
--------------------------------------------------------------------------实体类--------------------------------------------------------------------------package com.Ckinghan.objectStream;import java.io.Serializable;public class Persion implements Serializable{ /** * 序列化ID */ private static final long serialVersionUID = 4914051092502785039L; private String name; private Integer age; public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public void name() { } @Override public String toString() { return "Persion [name=" + name + ", age=" + age + "]"; }}--------------------------------------------------------------------------序列化与反序列化--------------------------------------------------------------------------package com.Ckinghan.objectStream;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 ObjectStreamDemo { public static void main(String[] args) { /** * 序列化(持久化,也就是保存class及数据到文件)对象 */ objectOutputStream(); /** * 反序列化文件(读取文件转换为class类并填充数据) */ objectInputStream(); } /** * @描述:反序列化文件(读取文件转换为class类并填充数据) * @创建时间: */ public static void objectInputStream(){ //创建流 ObjectInputStream objectInputStream = null; try { //实例化对象 objectInputStream = new ObjectInputStream(new FileInputStream("persion.txt")); /** * 反序列化,读取文件数据将其转换为指定的class类并填充数据 */ Persion persion = (Persion)objectInputStream.readObject(); //输出 System.out.println(persion); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }catch (ClassNotFoundException e) { e.printStackTrace(); } finally { //关闭流 if(objectInputStream != null){ try { objectInputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } } /** * @描述:序列化(持久化)对象 * @创建时间: */ public static void objectOutputStream(){ //创建对象 ObjectOutputStream objectOutputStream = null; try { //实例化对象 objectOutputStream = new ObjectOutputStream(new FileOutputStream("persion.txt")); //创建实体类并填充数据 Persion persion = new Persion(); persion.setAge(20); persion.setName("小明"); //序列化开始 objectOutputStream.writeObject(persion); //提示 System.out.println("序列化Persion成功"); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { //关闭流 if(objectOutputStream != null){ try { objectOutputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } }}*******************执行结果:序列化Persion成功Persion [name=小明, age=20]
阅读全文
0 0
- 序列化与反序列化及为何要实现Serializable接口
- Serializable 接口与 Java 序列化与反序列化
- JAVAbean为何要实现序列化 实现Serializable接口
- 序列化和反序列化C# [Serializable] 与[Serializable()]
- Serializable 接口(序列化和反序列化)
- 类实现Serializable接口进行序列化和反序列化操作
- Java中的Serializable的接口(序列化与反序列化)
- Java序列化与反序列化(Serializable)
- java 序列化 Serializable 与 反序列化 总结
- Serializable序列化与反序列化编码实例
- JAVA序列化与反序列化基础 Serializable
- Java序列化(Serializable)与反序列化
- Java序列化(Serializable)与反序列化
- Serializable的序列化与反序列化
- Java序列化(Serializable)与反序列化
- Java序列化(Serializable)与反序列化
- 8 Serializable序列化与反序列化
- Java序列化(Serializable)与反序列化
- Git使用小结
- 解决用eclipse对maven-web项目进行debug时遇到 source not found问题
- Android开发学习笔记:浅谈WebView
- Tomcat源码导入Eclipse测试
- sql 查询语句总结
- 序列化与反序列化及为何要实现Serializable接口
- 修复win7开机很丑
- PHP文件系统
- 4. Cordova插件
- 新CSS伪类:focus-within
- 思科C2960交换机的默认网关
- SSO单点登录三种情况的实现方式详解(二)
- 百度地图API实现 地址&经纬度 互相转换
- BZOJ 2157: 旅游 树链剖分