Java对象的序列化和反序列化

简介: Java对象的序列化和反序列化

要序列化的了类需要实现Serializable接口

package com.mouday;

import java.io.Serializable;

public class Person implements Serializable {
    // 序列化前后的唯一标识符
    private static final long serialVersionUID = 1;

    private String name;
    private int age;
    private int score;

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

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

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

序列化和反序列化

import com.mouday.Person;

import org.junit.Test;

import java.io.*;

public class TestDemo {
@Test
public void serialize() throws IOException {
Person person = new Person();
person.setAge(23);
person.setName("Tom");

ObjectOutputStream objectOutputStream = new ObjectOutputStream(
new FileOutputStream(
new File("person.txt")
)
);

objectOutputStream.writeObject(person);
objectOutputStream.close();
}

@Test
public void deserialize() throws IOException, ClassNotFoundException {
ObjectInputStream objectInputStream = new ObjectInputStream(
new FileInputStream(
new File("person.txt")
)
);

Person person = (Person)objectInputStream.readObject();
objectInputStream.close();

System.out.println(person);
// Person{name='Tom', age=23}
}
}

参考

序列化/反序列化,我忍你很久了,淦!

            </div>
目录
相关文章
|
开发工具 git
Git - 拉取远程分支并创建本地分支(一)
Git - 拉取远程分支并创建本地分支(一)
807 0
|
11月前
|
存储 人工智能 数据管理
媒体声音|专访阿里云数据库周文超博士:AI就绪的智能数据平台设计思路
在生成式AI的浪潮中,数据的重要性日益凸显。大模型在实际业务场景的落地过程中,必须有海量数据的支撑:经过训练、推理和分析等一系列复杂的数据处理过程,才能最终产生业务价值。事实上,大模型本身就是数据处理后的产物,以数据驱动的决策与创新需要通过更智能的平台解决数据多模处理、实时分析等问题,这正是以阿里云为代表的企业推动 “Data+AI”融合战略的核心动因。
|
Oracle 关系型数据库 Linux
VMware的竞品
VMware的竞品
419 2
|
应用服务中间件 Apache nginx
|
前端开发 JavaScript 中间件
阿里开源:Dawn - 基于「中间件和 Pipeline」的自动化构建工具
  Dawn 取「黎明、破晓」之意,原为「阿里云·业务运营团队」内部的前端构建和工程化工具,现已完全开源。它通过 pipeline 和 middleware 将开发过程抽象为相对固定的阶段和有限的操作,简化并统一了开发人员的日常构建与开发相关的工作。   采用中间件技术,封装常用功能,易于扩展,方便重用支持 pipeline 让多个 task 协同完成构建任务简单、一致的命令行接口,易于开发人员使用支持基于「中心服务」管理中间件和工程模板支持搭建私有中心服务,并统一下发构建规则,易于团队统一管理   依赖的环境、软件及其版本:   Node.js v7.6.0 及以上版本Mac/Linu
687 85
|
计算机视觉
ps2023软件全新版免费调色滤镜插件exposure图片后期处理工具
许多朋友都习惯于用手机拍照,但拍出来的效果却没有别人拍出来的好看,不知道如何解决。这种情况下你只需一个适合自己的照片处理工具,就可以提升原照片的美观度。那么,有哪些好用的照片处理工具,如何用照片处理工具处理照片,下面就有我来为各位进行讲解,希望能够给大家一些帮助。
763 1
ps2023软件全新版免费调色滤镜插件exposure图片后期处理工具
|
数据挖掘
ArcGIS:如何进行栅格数据的拼接和裁剪、坡度坡向的提取、地形透视图的建立、等高线的提取、剖面图的创建?
ArcGIS:如何进行栅格数据的拼接和裁剪、坡度坡向的提取、地形透视图的建立、等高线的提取、剖面图的创建?
952 0
身份证实名认证查询
实名认证查询是一种通过提供身份证号码、姓名等个人信息,获取对应身份信息的查询方式。它在日常生活中被广泛使用,如开通银行账户、购买手机卡等。实名认证查询的核心意义在于保护个人信息安全,同时保障社会公序良俗。本文将从实名认证查询的意义、流程及注意事项等方面进行阐述和探讨。
|
存储 弹性计算 编解码
Cloud Computing:基于无影云电脑利用Python语言实现绘制“可爱小老虎”虎年快乐及无影云电脑简介、应用场景、使用体验(五步快速上手)分享图文教程之详细攻略
Cloud Computing:基于无影云电脑利用Python语言实现绘制“可爱小老虎”虎年快乐及无影云电脑简介、应用场景、使用体验(五步快速上手)分享图文教程之详细攻略
Cloud Computing:基于无影云电脑利用Python语言实现绘制“可爱小老虎”虎年快乐及无影云电脑简介、应用场景、使用体验(五步快速上手)分享图文教程之详细攻略
|
缓存 NoSQL Java
3条原则,16个小点,帮你写出一个优秀的对外接口!
3条原则,16个小点,帮你写出一个优秀的对外接口!
3条原则,16个小点,帮你写出一个优秀的对外接口!