IO流的概念、作用、分类

  • 1:流的概念和作用
  • 2:流的分类
    • 2.1 按操作数据单位不同分为:字符流、字节流
    • 2.2 按流的角色的不同分为:节点流,处理流
    • 2.3 按数据流的流向不同分为:输入流,输出流
  • 3:IO 流体系
  • 4:抽象基类:InputStream(字节) & Reader(字符)(是所有输入流的基类)
  • 5:抽象基类:OutputStream(字节) & Writer(字符)(是所有输出流的基类)

1:流的概念和作用

  • 流:代表任何有能力产出数据的数据源对象或者是有能力接受数据的接收端对象

  • 流的本质:数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。

作用:为数据源和目的地建立一个输送通道


2:流的分类

2.1 按操作数据单位不同分为:字符流、字节流

字符流和字节流的区别:

  • 读写单位不同:字节流以字节(8bit)为单位,字符流以字符为单位,根据码表映射字符,一次可能读取多个字节。

  • 处理对象不同:字节流能处理所有类型的数据(如图片、.avi等),字符流只能处理纯文本的数据。

结论:如果处理纯文本的数据优先考虑字符流,其他情况 用字节流

2.2 按流的角色的不同分为:节点流,处理流

  • 节点流:流直接作用在文件上
  • 处理流:流作用在已有的流基础上

2.3 按数据流的流向不同分为:输入流,输出流

  • 对输入流只能进行读操作,对输出流只能进行写操作
  • 程序中需要根据待传输数据的特性来选择使用不同的流。

3:IO 流体系


4:抽象基类:InputStream(字节) & Reader(字符)(是所有输入流的基类)

  • InputStream(典型实现:FileInputStream

  • Reader(典型实现:FileReader


5:抽象基类:OutputStream(字节) & Writer(字符)(是所有输出流的基类)

  • OutputStream(典型实现:FileOutStream

  • Writer(典型实现:FileWriter

Java:IO流的概念、作用、分类相关推荐

  1. 菜鸟学习笔记:Java提升篇5(IO流1——IO流的概念、字节流、字符流、缓冲流、转换流)

    菜鸟学习笔记:Java IO流1--IO流的概念.字节流.字符流.缓冲流.转换流 IO流的原理及概念 节点流 字节流 文件读取 文件写出 文件拷贝 文件夹拷贝 字符流 文件读取 文件写出 处理流 缓冲 ...

  2. java io流区别_Java中IO流的分类和BIO,NIO,AIO的区别

    到底什么是IO 我们常说的IO,指的是文件的输入和输出,但是在操作系统层面是如何定义IO的呢?到底什么样的过程可以叫做是一次IO呢? 拿一次磁盘文件读取为例,我们要读取的文件是存储在磁盘上的,我们的目 ...

  3. Java IO流学习总结(一)—— IO流分类和常用IO流汇总

    Java IO流学习总结(一)-- IO流分类和常用IO流汇总 IO流的分类: - 按流向分类:输入流.输出流 - 按操作对象分类:字节流.字符流 - 按功能分类:节点流.处理流 IO流的设计模式为装 ...

  4. java IO流小结

    Java流操作有关的类或接口: Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...

  5. java io流的学习总结~~

    java io流的学习总结~~ 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类, ...

  6. java IO流详解及特性

    流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...

  7. java io流过滤流_JAVA io流 文件流 字节流 字符流 过滤流 缓冲流

    一.概念 1.1.按流向分类: 输入流: 程序可以从中读取数据的流. 输出流: 程序能向其中写入数据的流. 1.2.按数据传输单位分类: 字节流:以字节(8位二进制)为单位进行处理.主要用于读写诸如图 ...

  8. Java IO流详尽解析

    流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...

  9. Java IO流常见面试问题

    IO流 先要明白一个基础问题: 1.什么是比特(Bit)?什么是字节(Byte)?什么是字符(Char)?以及他们的区别? Bit 位,是计算机最小的二进制单位 ,取0或1,主要用于计算机操作. By ...

最新文章

  1. R语言使用unzip函数解压压缩文件(Extract or List Zip Archives)
  2. Java IO流--练习
  3. JMM和底层实现原理
  4. rotate array 旋转数组
  5. 单片机系统中的红外通信接口
  6. define定义的函数如何引用_「C与指针心得」25.预处理器-宏函数
  7. localStorage、sessionStorage本地存取Object 对象 - 代码篇
  8. (91)Verilog HDL系统函数和任务:$fopen
  9. Launch和Shut Off操作详解 - 每天5分钟玩转 OpenStack(30)
  10. Odoo 强大的开源微信模块 oejia_wx
  11. U盘格式化后容量变小了一半怎么办?
  12. 局域网自己搭建服务器之DDNS(动态域名解析),基于阿里域名api+python实现
  13. 用OpenGL导演一场烟花盛会,迎接即将到来的新年
  14. linux使用ftp命令_如何在Linux上使用FTP命令
  15. MySQL基本优化方案
  16. 写综述前应如何快速、高效地阅读相关文献?
  17. 第三讲 外国古代密码艺术
  18. 【数据库】Windows下如何安装MySql
  19. 即简单又漂亮的思维导图怎样绘制
  20. 南邮|计算机图形学——导入模型、添加天空盒

热门文章

  1. 【金猿技术展】基于数据控制三维组态的方法及装置——实现数据驱动三维模型的精准运转技术...
  2. [转帖]计较,是贫穷的开始 鸡汤...
  3. 【前端 H5】网页H5 调用微信支付和支付宝支付 流程
  4. 同时爱上一个男人的两个女人
  5. linux安装ati工具,Ubuntu 12.10 安装ATI显卡驱动安装
  6. ati hd 6470m驱动
  7. 多家支付机构叫停网络销售POS机 但“POSS机”“破死机”还在
  8. matlab画线的形状颜色
  9. CSGO DIY-文件修改位置
  10. android app防止锁屏_Android 禁止屏幕休眠和锁屏的方法 | 学步园