Java IO流 学习笔记

13 篇文章 0 订阅

一、IO流的分类

按流的方向分类:
1. 输入流:从数据源到程序(以InputStream、Reader结尾的流)
2. 输出流:从程序到目的地(以OutPutStream、Writer结尾的流)

按处理的数据单元分类:1.字节流 (Btye Stream)
                                        2.字符流 (Character Stream)

  1. 字节流 (Btye Stream) :以字节为单位获取数据;有两个基本的类 : InputStream , OutputStream (都是抽象类不能直接创建对象);以Stream结尾的流一般是字节流
  2. 字符流 (Character Stream) :以字符为单位获取数据;有两个基本类: Reader , Writer (都是抽象类不能直接创建对象);上以Reader/Writer结尾的流一般是字符流

按处理对象不同分类:1.节点流
                                    2.处理流

  1. 节点流:直接从数据源或目的地(节点)读写数据
  2. 处理流: 不直接连接到数据源或目的地,处理流也称过滤流

二、字节流与字符流的区别:

字节流直接操作文件。

字节流
程序
文件

字符流先将文件读入缓存,再操作缓存。

字符流
程序
缓存
文件

字节流处理单元为 1 个字节,操作字节和字节数组。字节流是最基本的,可用于任何类型的对象。
字符流一次处理2 个字节的 Unicode 字符,分别操作字符、字符数组或字符串。Unicode 包含所有字符,处理文本时用字符流不易出现乱码。只能处理字符,字符流处理图片、音频和视频后会损坏文件。

三、IO操作流程

  1. 确定源(使用File类打开一个文件)
  2. 选择流
  3. 操作 (读/写)
  4. 释放系统资源(关闭输入/输出)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值