当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
2015计算机二级考试指导:Java序列化的简单例子
发布时间:2010/3/10 16:07:55 来源:城市学习网 编辑:MOON
  首先来看看要序列化的对象
  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文件中,并且可以被反序列化,这是一个简单的序列化例子。
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved