首页 » 开发 » JAVA » java常用知识:ObjectOutputStream序列化流

java常用知识:ObjectOutputStream序列化流

 

构造方法:
ObjectOutputStream(OutputStream out) 创建写入指定OutputStream的ObjectOutputStream

参数
OutputStream out 字节输出流

特有的成员方法:
void writeObject(Object obj) 将指定的对象写入ObjectOutputStream

使用步骤:
创建ObjectOutputStream对象,传递字节输出流
使用writeObject把对象写入到文件中
释放资源

注意:使用序列化和反序列化流的时候,要在类中加上Serializable的标记。不然会爆NotSerializableException的错误
主文件

1
2
3
4
5
6
7
8
9
10
11
12
13
package xuexi.heima.ObjectStream;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;

public class Demo01 {
    public static void main(String[] args) throws IOException {
        ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("D:\\javadome\\javaxuexi\\src\\xuexi\\heima\\ObjectStream\\1.txt"));
        oos.writeObject(new Person("haha",1));
        oos.close();
    }
}

Person类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package xuexi.heima.ObjectStream;

import java.io.Serializable;

public class Person implements Serializable {
    String name;
    int age;

    public Person() {
    }

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

原文链接:java常用知识:ObjectOutputStream序列化流,转载请注明来源!

0