首页 | 源码下载 | 网站模板 | 网页特效 | 广告代码 | 网页素材 | 字体下载 | 书库 | 站长工具
会员投稿 投稿指南 RSS订阅
当前位置:主页>网络编程>java教程>资讯:Java序列化的一个简单例子

Java序列化的一个简单例子

www.jz123.cn  2010-01-22   来源:   中国建站    责任编辑(袁袁)    我要投递新闻

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

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文件中,并且可以被反序列化,这是一个简单的序列化例子。


上一篇:Java每5秒生成一个随机数代码 下一篇:Java操作Excel、PDF文件方法(1)

评论总数:0 [ 查看全部 ] 网友评论


关于我们隐私版权广告服务友情链接联系我们网站地图