欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java中的对象流总结(必看篇)

程序员文章站 2024-03-31 14:33:40
java中可以通过对象流将一个序列化的对象保存到硬盘中,或者硬盘中读取一个对象。对象流的存储和读取包含以下几点内容: 1、所保存的对象必须实现serializable接口...

java中可以通过对象流将一个序列化的对象保存到硬盘中,或者硬盘中读取一个对象。对象流的存储和读取包含以下几点内容:

1、所保存的对象必须实现serializable接口。

2、 所保存的对象的属性也必须实现serializable接口。

3、 最好要给该对象提供一个版本号,private static final long serialversionid。

下面是一个对象流存储和读取一个对象的流程图:

Java中的对象流总结(必看篇)

class person implements serializable {
 //实现序列化接口,其中的string,int也都是实现了serializable的,不然就会报错
  private static final long serialversionuid = 7072662597320618920l;
  string name;
  int age;

  public person(string name, int age) {
    this.name = name;
    this.age = age;
  }

  @override
  public string tostring() {
    return "person [name=" + name + ", age=" + age + "]";
  }
}

public class objectstreamtest {
  private objectinputstream ips;

  @test
  public void outstreamtest() throws exception {
    file file = new file("d:/person.txt");
    person p1 = new person("hanking", 24);
    person p2 = new person("hust", 120);
    fileoutputstream fos = new fileoutputstream(file);
    objectoutputstream ops = new objectoutputstream(fos);
    ops.writeobject(p2);
    ops.writeobject(p1);
    ops.flush();
    ops.close();
  }

  @test
  public void instreamtest() throws exception {
    ips = new objectinputstream(new fileinputstream("d:/person.txt"));
    person p1 = (person) ips.readobject();
    system.out.println(":" + p1);
    person p2 = (person) ips.readobject();
    system.out.println(":" + p2);
    ips.close();
  }
}

以上这篇java中的对象流总结(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。