JavaIO流之四大基本抽象流、流的分类标准、字节流与字符流的区别是什么?

什么叫流

  •   流就是程序和设备之间嫁接起来的一根用于数据传输的管道,这个管道上有很多按钮,不同的按钮可以实现不同的功能!
  •   这根带有按钮的用于数据传输的管道就是流!

四大基本抽象

  1. 字节输入流:InputStream
  2. 字节输出流:OutputStream
  3. 字符输入流:Reader
  4. 字符输出流:Writer

注:抽象流实质上就是抽象类,实际上使用到的是继承于它们的子类!FileInputStream、FileOutputStream、FileReader、FileWriter

 

流的分类标准

  1. 按数据流的方向不同可以分为输入流(读入程序)和输出流(写入外部文件)
  2. 按处理数据单位不同可以分为字节流字符流
  3. 按功能不同可以分为节点流(原始流)处理流(包裹流)

注:节点流为可以从一个特定的数据源(节点)读写数据(如文件、内存)

处理流是“连接”在已存在的流(节点流或处理流)之上,通过对数据的处理为程序提供更为强大的读写功能

 

字节流和字符流的区别

FileInputStream、FileOutputStream为字节流,一次读取一个字节,可用于所有格式的读写,但是在控制台输出中文字符会有乱码

FileReader、FileWriter为字符流,一次读取一个字符(两个字节),可用于文本文件的读写,但是不能用于非文本文件的读写,因为非文本文件就不是字符(编码问题)

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孙晨c

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值