JavaSE IO流 Vol.4 处理流 入门

1. 前言


· IO 流 专题 传送门:

   · JavaSE IO流 Vol.1 基础 入门

   · JavaSE IO流 Vol.2 节点流 - 输入流 入门

   · JavaSE IO流 Vol.3 节点流 - 输出流 入门

   · JavaSE IO流 Vol.4 处理流 入门


· 本文章是用于 个人学习过程中 整理知识点的帖子,主题为:JavaSE IO流 Vol.4 处理流 入门

· 本文章会根据不同类型的处理流进行 实例演示,以巩固区分不同处理流的功能和日常开发使用 。

· 本文章出现的 遗漏、错误 欢迎点开这篇文章的各位指出。

· 本文章的知识大纲根据 韩顺平老师 JavaSE 教学视频 进行编写。

感谢韩顺平老师带来的优质教学和对教育作出的贡献


2. 处理流


● 缓冲流


· BufferedInputStream


· BufferedOutputStream


· BufferedReader


· BufferedWriter


· 实例:文件拷贝


· 下面就根据 使用 字节缓冲流 、字符缓冲流 拷贝文件 进行演示:

字节缓冲流 拷贝文件

在这里插入图片描述

字符缓冲流

在这里插入图片描述


● 对象流


· ObjectInputStream


· ObjectOutputStream


· 实例:序列化和反序列化

· 序列化:在保存数据时,保存数据的值和数据类型 。

· 反序列化:在恢复数据时,恢复数据的值和数据类型 。


使用方式

· 要让某个对象支持序列化机制,则必须让其类声明为 可序列化

· 目标类必须满足以下接口的任何一个:

   ① Serializable

   ② Externalizable

· 另外,我们常用的数据类型几乎都实现了 Serializable 接口 。


相关类

· 对象流:ObjectInputStream 类 和 ObjectOutputStream 类

· 它们提供了对基本类型或对象类型的序列化和反序列化方法 。

· 下面就进行 序列化反序列化 的相关操作:

在这里插入图片描述

重要细节

· 反序列化的数据读写顺序要和序列化数据一致 。

· 序列化对象会将所有属性进行序列化,除了 static 或 transient 修饰的成员。

· 序列化对象要求里面属性的类型也需要实现序列化接口 。

· 序列化具有可继承性,父类序列化,子类也会默认序列化 。


● 转换流


· InputStreamReader


· OutputStreamWriter


· 实例:指定编码格式读写

· 我们已经知道可以通过字符流来解决乱码问题,但前提是统一了编码格式:UTF-8 。

· 在很多情况中,我们将面临对不同编码格式的文件的读写操作,此时依旧会出现乱码问题 。

· 我们需要对读写文件的编码格式进行一个规定,于是引出了转换流 。

相关类

· 对象流:InputStreamReader 类 和 OutputStreamWriter 类

· 这两个类的翻译:字节 字符输入流字节 字符输出流

· 顾名思义:就是字节转换成字符的过程,同时提供了指定编码格式的方法

· 下面就进行 指定编码格式 的相关操作:

在这里插入图片描述


● 打印流


· PrintStream


· PrintWriter


· 实例:打印数据

在这里插入图片描述

在这里插入图片描述


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值