对象序列化

原创 2006年06月06日 14:28:00

import java.io.*;
import java.io.Serializable;
/**
 *
 * <p>Title: 对象序列化</p>
 * <p>Description:
 *
1.并非所有类都可以序列化。在命令窗口下,可以通过serialver命令来检查一个类是否可以序列化。如输入serialver java.net.Socket,可以得到socket是否可序列化的信息,实际上socket是不可序列化的。
2.java有很多基础类已经实现了serializable接口,如String,Vector等。
3.如果某个类能够被序列化,其子类也可以被序列化。
4.声明为static和transient类型的成员数据不能被序列化。因为static代表类的状态, transient代表对象的临时数据。
5.读取序列化对象时,不会调用对象的任何构造函数甚至default构造函数,整个对象的状态全是通过InputStream所读的数据回复。
</p>
 * <p>Copyright: Copyright (c) 2005</p>
 * <p>Company: </p>
 * @author not attributable
 * @version 1.0
 */
class Student implements Serializable {
  private String sNO;
  private String sName;
  private String sSpecial;
  private int iAge;
  Student(String sNO, String sName, int iAge, String sSpecial) {
    this.sNO = sNO;
    this.sName = sName;
    this.sSpecial = sSpecial;
    this.iAge = iAge;
  }
}

public class Serial {
  public static void main(String[] args) throws IOException,
      ClassNotFoundException, IOException {
    /**
     *写文件
*/
    ObjectOutputStream ojectOut = new ObjectOutputStream(new FileOutputStream(
        "c:/student.dat"));
    Student student1 = new Student("S200106001", "李铭", 21, "经济管理");
    Student student2 = new Student("S200105001", "郝丽", 22, "外语");
    ojectOut.writeObject(student1);
    ojectOut.writeObject(student2);
    ojectOut.close();
    /**
     * 读文件
     */
    ObjectInputStream objectIn = new ObjectInputStream(new FileInputStream("c:/student.dat"));
    Student s1 = (Student)objectIn.readObject();
    Student s2 = (Student)objectIn.readObject();
    objectIn.close();
    System.out.println(s1);
     System.out.println(s2);
  }
}

相关文章推荐

android webservice 对象序列化例子

  • 2015年06月19日 17:07
  • 145KB
  • 下载

理解Java对象序列化——Serializable接口

概述:当一个类实现了Serializable接口(该接口仅为标记接口,不包含任何方法定义),表示该类可以序列化.序列化的目的是将一个实现了Serializable接口的对象转换成一个字节序列,可以。 ...

XStream对象序列化

  • 2008年06月22日 17:52
  • 427KB
  • 下载

通用序列化对象

  • 2008年07月10日 11:59
  • 881KB
  • 下载

Android下利用SharePreference存储序列化对象的方法

在Android下做持久化的数据存储,大部分是用到了sqlite数据库或者sharepreference。当然我们为了图方便,少写sql语句,大部分都是用ORM形式的开源数据库框架,例如greenda...

Android对象序列化的代码例子

  • 2016年05月05日 09:32
  • 1.99MB
  • 下载

androidMVC对象序列化

  • 2012年06月04日 11:21
  • 103KB
  • 下载

Android实现Parcelable对象序列化的实例

bundle.putParcelable可以实现传递对象,但是这个对象的类必须实现Parcelable接口才能够使用。 下面是一个简单的在Activity之间传递对象的例子。 parcel实现参数...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章: 对象序列化
举报原因:
原因补充:

(最多只允许输入30个字)