对象序列化流

对象序列化:就是将对象保存到磁盘中,或者在网络中传输对象

这种机制就是使用一个字节序列表示一个对象,该字节学列包括:对象的类型、对象的数据和对象中存储的属性等信息字节序列写道文件之后,相当于文件中持久保存了一个对象的信息

反之,该字节序列还可以从文件中读取回来,重构对象,对它进行反序列化

要实现序列化和反序列化就要使用对象序列化流和对象反序列化流:

        对象序列化流:ObjectOutputStream

        对象反序列化流:ObjectInputStream

对象序列化流:ObjectOutputStream

        将java对象的原始数据类型和图形写入OutputStream。可以使用ObjectInputStream读取(重构)对象。可以通过使用流的文件来实现对象的持久化存储。如果流是网络套接字流,则可以在另一个主机或另一个进程中重构对象

构造方法:

        ObjectOutputStream(OutputStream out):创建一个写入指定的OutputStream的ObjectOutputStream

序列化对象的方法:

void writeObject(Object obj):将指定的对象写入ObjectOutputStream

注意:

        一个对象要想被序列化,该对象所属的类必须实现Serializable接口

        Serializable是一个标记接口,实现该接口,不需要重写任何方法

package com.aynu12;

//构造方法:
//        ObjectOutputStream(OutputStream out):创建一个写入指定的OutputStream的ObjectOutputStream
//
//        序列化对象的方法:
//
//        void writeObject(Object obj):将指定的对象写入ObjectOutputStream

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

public class ObjectOutputStreamDemo {
    public static void main(String[] args) throws IOException {
        //ObjectOutputStream(OutputStream out):创建一个写入指定的OutputStream的ObjectOutputStream
        ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream("D:\\idea1\\workplace\\myMap\\oos.txt"));

        //创建对象
        Student s=new Student("林青霞",30);

        //void writeObject(Object obj):将指定的对象写入ObjectOutputStream
        oos.writeObject(s);

        //释放资源
        oos.close();

    }
}

对象反序列化流:ObjectInputStream

        ObjectInputStream反序列化先前使用ObjectOutputStream编写的原始数据和对象

构造方法:

        ObjectInputStream(InputStream in):创建从指定的InputStream读取的ObjectInputStream

反序列化对象的方法:

        Object readObject():从ObjectInputStream读取一个对象

package com.aynu12;

//构造方法:
//            ObjectInputStream(InputStream in):创建从指定的InputStream读取的ObjectInputStream
//
//        反序列化对象的方法:
//            Object readObject():从ObjectInputStream读取一个对象

import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

public class ObjectInputStreamDemo {
    public static void main(String[] args) throws IOException, ClassNotFoundException {

        //ObjectInputStream(InputStream in):创建从指定的InputStream读取的ObjectInputStream
        ObjectInputStream ois=new ObjectInputStream(new FileInputStream("D:\\idea1\\workplace\\myMap\\oos.txt"));

        //Object readObject():从ObjectInputStream读取一个对象
        Object obj=ois.readObject();

        Student s=(Student) obj;
        System.out.println(s.getName()+","+s.getAge());

        ois.close();
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/7818.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JVM的内存区域划分

目录 1、程序计数器(内存中最小的一块,里面保存了当前线程下一条执行的指令的地址) 2、栈(保存局部变量和方法调用的信息) 3、堆 (成员变量和new出来的对象都在堆上) 4、方法区&#xff08…

闲人闲谈PS之四十——项目售前费用归集

惯例闲话:广东这段时间老是下雨,堪比江浙一带梅雨季节,人的心情也像这天气一样,阴雨绵绵。2023年伊始,确实感觉很多事情在发生剧变,这种变化也稍微影响了闲人那本来稳如老狗的心。面对未知和变化&#xff0…

FreeRTOS学习(一)

裸机与RTOS对比 裸机:又称为前后台系统,前台系统指的是中断服务函数,后台系统指的大循环,即应用程序。 实时性差:(应用程序轮流执行)delay:空等待,CPU不执行其它代码结…

智能汽车赛道「年度大奖」揭晓,哪些供应商在细分市场独占鳌头

智能汽车产业链年度细分市场领军供应商,是高工智能汽车研究院在每个年度基于前装量产数据库及定点车型库数据进行综合评价颁发的年度重量级行业奖项。 2022年,是中国乘用车市场从电动化转型升级到全面普及智能化的关键节点。从计算平台、域控制器、传感…

python天狗吃月 青少年编程电子学会python编程等级考试一级真题解析2022年9月

目录 python天狗吃月 一、题目要求 编程实现 二、解题思路 1、图形分析

thinkphp5.0无限极分类及格式化输出详解案例一则

首先我们来看数据表 从上图中可以发现,中国下有贵州,北京两个子节点,而北京有天安门一个子节点,纽约的子节点是“纽约的子类”。 从pid为0看出,中国和纽约是顶级节点。 因为贵州的pid是1,而中国的id为1…

概率论基础2

文章目录多个random variable条件下的multi random variable 分布和independencemulti random variable continuous**2D normal distribution**two random variable independencemuilti random variable conditional expectional value(discrete)multi random variable conditi…

docker-compose 搭建 MinIO

目录1、搭建单机MinIO1、搭建单机MinIO (1)配置 docker-compose.yml minio: image: minio/minio container_name: "chain-minio" ports: - 9000:9000 # 服务端口 - 9090:9090 # 控制台端口 environment: - "MINIO_ACCESS_KEYadmin"…

【Python入门第四十七天】Python丨NumPy 数组迭代

数组迭代 迭代意味着逐一遍历元素,当我们在 numpy 中处理多维数组时,可以使用 python 的基本 for 循环来完成此操作。 如果我们对 1-D 数组进行迭代,它将逐一遍历每个元素。 实例 迭代以下一维数组的元素: import numpy as n…

Mysql忘记密码或者有修改密码的需求

今天突然有个想法,想要把毕设弄到服务器上去,所以要配置一下环境安装一下使用一下MySQL,导入一下SQL脚本来创建数据;结果长时间不用MySQL密码不记得了,最后参考了一些博主发现可以这样子修改。 1、打开mysql的配置文件…

OA系统是什么意思?企业为什么要用OA办公系统软件?

阅读本文您将了解:1、什么是OA;2、OA系统是什么意思;2、OA系统功能和对企业重要性 什么是OA? OA即办公自动化(Office Automation,简称OA),是将计算机、通信等现代化技术运用到传统…

《剑指offer》——二进制中1的个数

首先,拿到问题不要害怕,我们先来看一下题目说的是什么: 示例1 输入: 10返回值: 2说明: 十进制中10的32位二进制表示为0000 0000 0000 0000 0000 0000 0000 1010,其中有两个1。 示例2 输入&#…

将Linux服务器上的项目上传至Github

使用git上传项目到github常规的步骤继续上传注意事项参考文章常规的步骤 初始化git空间 git init向缓冲区添加想要上传的文件 git add -f /data/xuhongbo/xuhongbo.code/unbiased_sgg_xuhongbo_BCL/maskrcnn_benchmark/*添加备注信息告诉机器,你真的要添加上述文…

vue在input中输入后,按回车,提交数据

vue在input中输入后&#xff0c;按回车&#xff0c;提交数据 1.展示效果如下&#xff1a; 2.代码展示&#xff1a; <div><el-input v-model"toAddNameText" keyup.enter.native"toAddName()" placeholder"回车&#xff0c;即新增该竖杆名称…

【C++】list的使用与模拟实现

目录 一、list介绍 二、list的使用 1、list的构造 2、list capacity 3、list element access 4、list iterator 5、list modifiers 5.1、insert 6、list Operations 6.1、sort 7、list的迭代器失效 三、list模拟实现 1、push_back 2、iterator 3、const iterato…

循环神经网络

循环神经网络(Recurrent Neural Network&#xff0c;RNN)与卷积神经网络一样,都是深度学习中的重要部分。循环神经网络可以看作一类具有短期记忆能力的神经网络。在循环神经网络中&#xff0c;神经元不但可以接收其他神经元的信息&#xff0c;也可以接收自身的信息&#xff0c;…

Python实现PDF转Word文档

1. 模块安装 pip install pdf2docx安装时可能报错&#xff1a; 到 Microsoft C Build Tools 下载C编译环境安装即可。 2. 模块介绍 pdf2docx是一个Python模块&#xff0c;可以用来将PDF文件转换成Word文档。它是基于Python的pdfminer和python-docx库开发的&#xff0c;可以…

toArray转换 java.lang.ClassCastException

[toArray转换踩坑 java.lang.ClassCastException] 问题 List<String> auditOptions Lists.newArrayList(); //一系列灌数据操作 auditOption.add... String[] options (String[]) auditOptions.toArray();报错信息java.lang.ClassCastException: class [Ljava.lang.O…

【Blender】如何在Blender中添加HDRI环境贴图

​ 什么是HDRI环境贴图 环境贴图或HDRI贴图是在Blender中照亮3D场景并实现逼真效果的最有效和最快捷的方法之一。 HDRIs本质上是现实世界照明的快照&#xff0c;其中包含高动态范围成像&#xff08;HDRI&#xff09;的准确照明细节。HDRI是一个包含亮度信息&#xff08;从暗…

ToBeWritten之IoT 技战法

也许每个人出生的时候都以为这世界都是为他一个人而存在的&#xff0c;当他发现自己错的时候&#xff0c;他便开始长大 少走了弯路&#xff0c;也就错过了风景&#xff0c;无论如何&#xff0c;感谢经历 转移发布平台通知&#xff1a;将不再在CSDN博客发布新文章&#xff0c;敬…
最新文章