Java Serializable序列化,反序列化
2016-03-07 16:31
429 查看
Java序列化是指把Java对象转换为字节序列的过程;而Java反序列化是指把字节序列恢复为Java对象的过程。如此可以把对象转换成字节流,可以进行网络传输,保持到本地文件,数据库等,增加对象的生命周期。
序列化针对的对象的数据,也就是字段属性,使用transient关键字可以使字段不被序列化。
序列化实现非常简单,只需要对象继承serializable接口就行。serializable是一个空接口,没有任何方法。类似的接口还有重写clone方式要用到的cloneable接口。这些接口都是标志型接口。
对象的保存和读取用到java.Io里的ObjectInputStream和ObjectOutputStream
name:xjp
age:50
序列化针对的对象的数据,也就是字段属性,使用transient关键字可以使字段不被序列化。
序列化实现非常简单,只需要对象继承serializable接口就行。serializable是一个空接口,没有任何方法。类似的接口还有重写clone方式要用到的cloneable接口。这些接口都是标志型接口。
对象的保存和读取用到java.Io里的ObjectInputStream和ObjectOutputStream
public class Main { public static void main(String arg[]){ Person p=new Person("xjp",50); savePerson(p); p=getPerson(); p.print(); } static void savePerson(Person p){ FileOutputStream fout; try { fout = new FileOutputStream("e:\\person.txt"); ObjectOutputStream objout=new ObjectOutputStream(fout); objout.writeObject(p); objout.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } static Person getPerson(){ FileInputStream fin; try { fin = new FileInputStream("e:\\person.txt"); ObjectInputStream objin=new ObjectInputStream(fin); Person p=(Person)objin.readObject(); objin.close(); return p; } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } } class Person implements Serializable { private String name; private int age; Person(String s,int a){ name=s; age=a; } public String getName() { return name; } public int getAge() { return age; } public void print(){ System.out.println("name:"+name); System.out.println("age:"+age); } }输出:
name:xjp
age:50
相关文章推荐
- SpringMVC+Shiro配置
- Java导包——import语句
- springmvc web-info目录下无法引入的js文件无效
- Eclipse给Jar文件指定源代码文件
- Java 抽象类 vs 接口
- Java数组
- java jetty 启动设置根路径
- Java堆中对象创建、布局、访问全过程
- 通过Java向Mysql写中文数据出现乱码解决方式
- 【Java开发者自学笔记】从A至Z的路径规划
- leetcode:Rotate Array 【Java】
- spring项目中,post请求中文乱码
- Java中抽象类与接口10问10答
- eclipse根据java或class文件生成类图插件
- JavaSE入门学习27:Java常用类之String类(上)
- 如何在ubuntu 12.04安装eclipse
- java设计模式——工厂模式
- MyEclipse如何从svn上下载项目
- [Java] web输入框默认值处理
- Java实现的死锁示例