首先来看看要序列化的对象

  Person.java

  package com.zjut.yunfeiyang;

  import java.io.Serializable;

  public class Person implements Serializable{

  private static final long serialVersionUID = -5434734211562785652L;

  public Person() {

  }

  private String name;

  private String password;

  private String id;

  private String address;

  /**

  * @return the name

  */

  public String getName() {

  return name;

  }

  /**

  * @param name the name to set

  */

  public void setName(String name) {

  this.name = name;

  }

  /**

  * @return the password

  */

  public String getPassword() {

  return password;

  }

  /**

  * @param password the password to set

  */

  public void setPassword(String password) {

  this.password = password;

  }

  /**

  * @return the id

  */

  public String getId() {

  return id;

  }

  /**

  * @param id the id to set

  */

  public void setId(String id) {

  this.id = id;

  }

  /**

  * @param address the address to set

  */

  public void setAddress(String address) {

  this.address = address;

  }

  /**

  * @return the address

  */

  public String getAddress() {

  return address;

  }

  }

  再来看看测试代码:

  Test.java

  package com.zjut.yunfeiyang;

  import java.io.File;

  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 Test {

  public Test() {

  }

  /**

  * @param args

  */

 public static void main(String[] args) {

  Person s=new Person();

  s.setId("03058661");

  s.setName("陈建泉");

  s.setPassword("************");

  s.setAddress("Hangzhou,Zhejiang");

  File f=new File("Serializable.dll");

  if(!f.exists())

  {

  try {

  f.createNewFile();

  } catch (IOException e) {

  // TODO Auto-generated catch block

  e.printStackTrace();

  }

  }

 try {

  //执行序列化

  ObjectOutputStream out=new ObjectOutputStream(new FileOutputStream(f));

  out.writeObject(s);

  out.close();

  s=null;

  //执行反序列化

  ObjectInputStream in=new ObjectInputStream(new FileInputStream(f));

  Person p=(Person)in.readObject();

  System.out.println(p.getId());

  System.out.println(p.getName());

  System.out.println(p.getPassword());

  System.out.println(p.getAddress());

  in.close();

  } catch (FileNotFoundException e) {

  // TODO Auto-generated catch block

  e.printStackTrace();

  } catch (IOException e) {

  // TODO Auto-generated catch block

  e.printStackTrace();

  } catch (ClassNotFoundException e) {

  // TODO Auto-generated catch block

  e.printStackTrace();

  }

  }

  }

  程序输出如下:

  03058661

  陈建泉

  ************

  Hangzhou,Zhejiang

  从结果中可以看出,对象被正确的序列化到Serializable.dll文件中,并且可以被反序列化,这是一个简单的序列化例子。

文章来源:http://www.fangxinpx.com/pc/erji/JAVA/jichu/201001/306078_2.html

转载于:https://blog.51cto.com/2598899288/1385190

Java序列化简单例子相关推荐

  1. java 序列化 例子_一个简单的Java序列化的例子

    简单来说序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化,流的概念这里不用多说(就是I/O),我们可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间(注:要想将对 ...

  2. Java Socket简单例子、readLine()、readUTF()

    转载请标明出处:http://blog.csdn.net/xx326664162/article/details/51752701 文章出自:薛瑄的博客 你也可以查看我的其他同类文章,也会让你有一定的 ...

  3. java多态简单例子6_Java_6、面向对象——继承和多态

    继承 •继承是面向对象编程的三大特征之一,是一种基于已有类来创建新类的机制.由继承而得到的类称为子类(或派生类),被继承的类称为父类(或超类). •Java中每个类只允许有一个父类.语法如下:clas ...

  4. java c 简单例子_通过一个简单的例子来理解C语言中的LAPACK调用

    我是LAPACK和C / Fortran接口的初学者 . 我需要在Mac OS-X Lion上使用LAPACK / BLAS解决线性方程和特征值问题 . OS-X Lion提供优化的BLAS和LAPA ...

  5. java多态的简单例子_要JAVA的简单例子,继承\多态的,详细讲解运行的每一步

    java中的多态是动态绑定的,也就是说在编译期不能确定一个方法的执行体是哪个方法(在继承中重写的方法).执行果支委会根据在堆上分配的的引用去寻找方法体,所以产生你你所不想要的结果是正常的也是正确的.改 ...

  6. java 存储过程简单例子

    ---创建表 create table TESTTABLE (   id1  VARCHAR2(12),   name VARCHAR2(32) ) select t.id1,t.name from ...

  7. JAVA lambda 简单例子

    多了不说直接上代码 package com.example.demo; import java.util.ArrayList; import java.util.Arrays; import java ...

  8. [转载] Java序列化的几种方式以及序列化的作用

    参考链接: Java中带有继承的对象序列化 文章转载自:  本文着重讲解一下Java序列化的相关内容. 如果对Java序列化感兴趣的同学可以研究一下. 一.Java序列化的作用 有的时候我们想要把一个 ...

  9. Java序列化的几种方式以及序列化的作用(文章有所改变)

    本文着重讲解一下Java序列化的相关内容. 如果对Java序列化感兴趣的同学可以研究一下. 一.Java序列化的作用    有的时候我们想要把一个Java对象变成字节流的形式传出去,有的时候我们想要从 ...

最新文章

  1. Linux下开发优秀链接
  2. 为什么你用matplotlib savefig保存下来的图像是一个空白图片?
  3. boost::contract模块实现separate body的测试程序
  4. 求排序一堆整数,数据都是有限范围的和有限个数的,对他们进行排序,要求O(n)的时间复杂度....
  5. linux gdb 脚本,如何写gdb命令脚本
  6. CoreLocation框架--监测方向/地磁传感器
  7. java学习--基础知识进阶第五天--API、 Object类 System类、日期相关类、包装类正则表达式...
  8. go中make和new的用法,以及nil用法
  9. jQuery多文件上传的实例
  10. win和linux双系统安装教程
  11. Java 大白话讲解设计模式之 -- 建造者(Builder)模式
  12. 【24点】java减治法实现二十四点,输出所有求值结果为24的组合
  13. sas主板服务器安装系统,自带SAS存储 华硕P6T WS PRO工作站主板
  14. 整天说“B超”,你知道“B”指的是什么吗?
  15. 多项式秦九韶算法c语言
  16. GDSOI 2016 T2 星际穿越
  17. 利用callgrind+gprof2dot+dot进行性能分析
  18. 为什么Java有GC调优而没听说过有CLR的GC调优?
  19. 微信小程序-创建小程序+编写学生评教系统的学生登录页面
  20. 被忽视的钣金零件外观设计

热门文章

  1. Linux 3.10 新特性
  2. 实战:Windows Server 2008 使用WSUS实现内网计算机系统更新
  3. 轻量又高效,Apache Shiro 你值得拥有!
  4. 别再说找不到Python练手项目了,这80个拿去过冬
  5. java魔法堂_Java魔法堂:调用外部程序
  6. ppt android sdk,《0.AndroidSDK概述.ppt
  7. 工作中用到的设计模式?
  8. ConcurrentHashMap的源码分析-put方法第二阶段
  9. 微服务和SOA架构的区别
  10. 支付宝支付 - 异步通知与同步通知