news 2026/10/31 11:26:27

java基础-IO流(序列化流和反序列流)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
java基础-IO流(序列化流和反序列流)

序列化流/对象操作输出流:可以把JAVA中的对象写到本地文件中

使用对象输出流将对象保存到文件的时候,会出现NotSerializableException异常

解决方案:让JAVAbean类实现Serializable接口

1、Serializable接口里面没有抽象方法,是一个标记接口 2、一旦实现了这个接口,就表示当前的这个Student类可以被序列化

反序列号流:

序列化流和反序列化流,

细节一:如果使用反序列化流在解析数据的时候,JAVAbean类是不能修改的,一旦修改就会导致两边的标识不一样。

解决方法如下:

方案一:

在javabean类中写死

方案二:设置IDEA

设置IDEA之后,如果不记得写,IDEA会有一个深色背景在类名的背后,你可以自己写一个

也可以alt+回车,IDEA会提示你写

细节二:

如果javabean中有一些属性,你不想序列化,比如student类中,有name,age,address,你不想序列化address,这个时候可以添加关键字

transient:瞬态关键字

需求:将多个自定义对象序列化到文件中,但是对象的个数不确定,该如何操作的?

package Day11_IO; import java.io.*; import java.util.ArrayList; public class IOTest02 { public static void main(String[] args) throws IOException, ClassNotFoundException { //利用集合存储对象,可以实现批量序列化和反序列化 Animals a1 = new Animals("哈士奇",10); Animals a2 = new Animals("波斯猫",11); Animals a3 = new Animals("米老鼠",12); Animals[] arr =new Animals[3]; ArrayList<Animals> list = new ArrayList<Animals>(); list.add(a1); list.add(a2); list.add(a3); //序列号写入 ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("E:\\file\\test1.txt")); oos.writeObject(list); oos.close(); //序列号读取 ObjectInputStream ois = new ObjectInputStream(new FileInputStream("E:\\file\\test1.txt")); ArrayList<Animals> list1=(ArrayList<Animals>) ois.readObject(); for (Animals animals : list1) { System.out.println(animals); } ois.close(); } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/28 16:23:23

Geek Uninstaller介绍(轻量高效的软件卸载专家)注册表清理注册表、卸载软件、应用卸载应用、文件卸载文件

https://geekuninstaller.com/download 文章目录Geek Uninstaller&#xff1a;轻量高效的软件卸载专家什么是Geek Uninstaller&#xff1f;核心功能与特点1. 彻底卸载2. 强制删除功能3. 注册表清理4. 绿色便携5. 轻量高效6. 简洁直观的界面使用方法免费版vs专业版与其他卸载软件…

作者头像 李华
网站建设 2026/10/28 10:46:03

python 调用C++动态库还会存在GIL问题吗

你想知道Python调用C动态库时是否还会受GIL&#xff08;全局解释器锁&#xff09;的影响&#xff0c;答案是分场景讨论&#xff0c;并非完全受GIL限制&#xff0c;核心取决于C动态库的执行逻辑是否「释放了GIL」&#xff0c;下面详细拆解具体情况、原理及解决方案&#xff1a; …

作者头像 李华
网站建设 2026/10/28 10:46:01

2026最新AI大模型学习指南:从零基础到进阶,附免费资源包(非常详细)AI大模型学习路线

本文提供了从零基础学习AI大模型的完整路线图&#xff0c;包括数学与编程基础、机器学习入门、深度学习深入、大模型探索、进阶应用及社区资源六大模块。每个阶段均推荐了学习资源与实践项目&#xff0c;强调系统学习和持续实践的重要性&#xff0c;适合小白和程序员按步骤掌握…

作者头像 李华
网站建设 2026/10/31 4:30:53

昆仑通态与东元N310变频器通讯实战之旅

昆仑通态与东元N310变频器通讯实战程序实现昆仑通态触摸屏与东元N310变频器通讯&#xff0c;程序稳定可靠器件&#xff1a;昆仑通态TPC7062KD触摸屏&#xff0c;东元N310变频器&#xff0c;附送接线说明和设置说明 功能&#xff1a;实现频率设定&#xff0c;启停控制&#xff0…

作者头像 李华