#千锋逆战班,周总3.21#

本文深入解析I/O框架,包括流的概念、分类及功能。探讨字节流与字符流的区别,介绍节点流与过滤流的作用。重点讲解对象流的序列化与反序列化,以及字符编码的重要性。最后,提供使用I/O流的步骤指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

I/O框架
  • 什么是流
    内存与存储设备之间传输数据的通道
  • 流的分类
  1. 方向
    (1) 输入流
    (2) 输出流
  2. 单位
    (1) 字节流
    (2) 字符流
  3. 功能
    (1) 节点流
    (2) 过滤流
  • 字节流
  1. 字节流的父类
    (1) InputStream(抽象类)
    (2) OutputStream(抽象类)

  2. 字节节点流
    (1) FileInputStream
    (2) FileOutputStream

  3. 字节过滤流
    (1) BufferedOutputStream
    (2) BufferedInputStream
    (3) 提供了IO效率,减少访问磁盘的次数。数据存放在缓冲区中。flush刷新缓冲区,提交数据

  4. 对象流
    (1) ObjectOutputStream
    (2) ObjectInputStream
    (3) 增强了读写8种基本数据类型和字符串功能
    (4) 读写对象,实现对象的持久化存储

  • 序列化/反序列化
    (1) 必须实现Serializable接口。 标识序列化功能
    (2) 必须保证所有属性均支持序列化。
    (3) Transient修饰的为临时属性,不参与序列化
    (4) 读取到文件末尾时:java.IO.EOFException

  • 字符编码

  1. GBK 简体中文、扩展
  2. UTF-8 针对Unicode的可变长度字符编码
  3. GB2312 简体中文
  4. 当编码和解码方式不一致时,会出现乱码
  • 字符流
  1. 字符流的父类
    (1) Reader
    (2) Writer
  2. 字符节点流
    (1) FileWriter
    (2) FileReader
  3. 字符过滤流
    (1) BufferedWriter/PrintWriter
    (2) BufferedReader
    (3) 支持写一行、读一行
  • 字符节点流
  1. 桥转换流
    (1) InputStreamReader
    (2) OutputStreamWriter
    (3) 可将字节流转换为字符流,可设置编码方式(编码与解码要一致)
  2. 使用步骤
    (1) 创建节点流
    (2) [创建过滤流,设置字符编码集]
    (3) 封装过滤流
    (4) 读写数据
    (5) 关闭流
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值