第四十讲 I/O流——IO流概述、特点及其分类

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yerenyuan_pku/article/details/84349899

IO流的概述

大多数应用程序都需要实现与设备之间的数据传输,例如键盘可以输入数据,显示器可以显示程序的运行结果等。在Java中,将这种通过不同输入输出设备(键盘,内存,显示器,网络等)之间的数据传输抽象的表述为“流”,程序允许通过流的方式与输入输出设备进行数据传输。Java中的“流”都位于java.io包中,称之为IO(输入输出)流。
输入流和输出流是相对于内存设备而言的,将外设中的数据读取到内存中即输入,将内存的数据写入到外设中即输出。

IO流的特点

IO流的特点:

  1. IO流用来处理设备之间的数据传输;
  2. Java对数据的操作是通过流(系统资源)的方式;
  3. Java用于操作流的对象都在java.io包中;
  4. 流按操作数据分为两种:字节流与字符流;
  5. 流按流向分为:输入流,输出流。

流即系统资源,Windows系统本身就可以操作设备,各种语言只是使用了系统平台上的这个资源,并对外提供了各种语言自己的操作功能,这些功能最终调用的是系统资源,当我们使用完资源后一定要记住释放。

IO流的三种分类方式

在这里插入图片描述

  1. 按流的方向分为:输入流和输出流;
  2. 按流的数据单位不同分为:字节流和字符流;
  3. 按流的功能不同分为:节点流和处理流。

IO流的层次结构

IO流的常用基类有:

  1. 字节流的抽象基类:InputStream和OutputStream;
  2. 字符流的抽象基类:Reader和Writer。

注意:由这四个类派生出来的子类名称都是以其父类名作为子类名的后缀,以前缀为其功能。例如,InputStream的子类——FileInputStream,Reader的子类——FileReader。

InputStream

在这里插入图片描述

OutputStream

在这里插入图片描述

Reader

在这里插入图片描述

Writer

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/yerenyuan_pku/article/details/84349899