当前位置: 首页 > news >正文

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(); } }
http://www.jsqmd.com/news/194666/

相关文章:

  • springboot家校互动系统vue
  • 靠谱的康有利到家理疗小程序样本
  • springboot教育培训机构教务信息管理系统vue
  • java基础-IO流(打印流)
  • 案例-20260101分区数据更新失败
  • 2026打工人必看!5款在线甘特图深度横评,这款开源神器直接封神[特殊字符]
  • 编程语言30年:从Java到Rust的进化史 - 指南
  • 基于Python+Web的喀什地区景点推荐系统的设计与实现(源码+lw+部署文档+讲解等)
  • QOJ#6504. Flowers Land 2
  • MCP Server 开发实战测试 - 自动发布
  • springboot卷烟物价管理系统vue
  • MCP Server 开发实战测试 - 自动发布我发错了
  • 绝了,一款神仙工具,值得收藏
  • 基于Python+Django的在线考试与评估系统设计与实现(源码+lw+部署文档+讲解等)
  • d3d10core.dll文件损坏丢失找不到 打不开软件问题 免费下载方法
  • B 和 B+树
  • d3dx9_25.dll文件损坏丢失找不到 打不开软件游戏 免费下载方法
  • d3dx9_30.dll文件损坏丢失找不到 打不开软件游戏 免费下载方法
  • 从“价值对齐”到“意义共生”:AI元人文构想的范式革命与文明演进新路径
  • d3dcompiler_43.dll文件损坏丢失找不到 打不开软件 下载方法
  • Geek Uninstaller介绍(轻量高效的软件卸载专家)注册表清理注册表、卸载软件、应用卸载应用、文件卸载文件
  • D3DCompiler_47.dll文件损坏丢失怎么办?打不开软件问题 免费下载方法
  • 使用jQuery检查元素是否隐藏的多种方法
  • 《Python 正则表达式完全指南:从入门到精通》(AI版)
  • 2026年北京陪诊公司推荐:聚焦异地就医与陪伴场景,专家深度解读5家优质服务商选购指南 - 品牌排行榜单
  • 2026年有实力的沙漠旅游,五湖穿越,沙漠营地旅行社品牌推荐及选购参考榜 - 品牌鉴赏师
  • LLM输出方式(generate)详解
  • 从0到1玩转AI Agent:5大框架评测,小白也能轻松上手,告别代码焦虑!
  • NVLink vs PCIe 性能差异
  • 2026年热门的沙漠徒步,沙漠营地,沙漠研学旅行社推荐榜 - 品牌鉴赏师