java中 使用输入+输出流对对象序列化

Posted 梓★鸿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中 使用输入+输出流对对象序列化相关的知识,希望对你有一定的参考价值。

 

对象: 注意记得实现 Serializable

package com.nf147.sim.entity;

import java.io.Serializable;

public class News implements Serializable {
    private int id;
    private String title;
    private String body;

    public News() {
    }

    public News(int id, String title, String body) {
        this.id = id;
        this.title = title;
        this.body = body;
    }

    public News(String title, String body) {
        this.title = title;
        this.body = body;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getBody() {
        return body;
    }

    public void setBody(String body) {
        this.body = body;
    }

    @Override
    public String toString() {
        return "News{" +
                "id=" + id +
                ", title=\'" + title + \'\\\'\' +
                ", body=\'" + body + \'\\\'\' +
                \'}\';
    }
}

 

 

 


@Test
public void serialize() throws IOException { //对象序列化
List<News> list = Arrays.asList(
new News("yuandn", "放假了"),
new News("春节", "快来了")
);
FileOutputStream fileOutputStream = new FileOutputStream(new File("e:/news.class"));
ObjectOutputStream stream = new ObjectOutputStream(fileOutputStream);
stream.writeObject(list);
System.out.println("文件输出完成");
stream.close();
}

@Test
public void deserialization() throws IOException, ClassNotFoundException { //对象反序列号
FileInputStream fileInputStream = new FileInputStream(new File("e:/news.class"));
ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream);
Object o = objectInputStream.readObject();
System.out.println(o);
System.out.println("文件输入完成");
objectInputStream.close();
}
 

 

结果:

以上是关于java中 使用输入+输出流对对象序列化的主要内容,如果未能解决你的问题,请参考以下文章

Java 对象流(输入-输出)objectoutputstream序列化报错

Java中输入输出(续篇)

片段(Java) | 机试题+算法思路+考点+代码解析 2023

Java I/O - 对象的输入输出与序列化

C++——流类库与输入/输出

Java输入输出流详解