首页技术文章正文

什么是IO流?怎样区分不同种类的IO流?

更新时间:2021-07-30 来源:黑马程序员 浏览量:

IT培训班

I/O(Input/Output)流,即输入/输出流,是Java中实现输入/输出的基础,它可以方便地实现数据的输入/输出操作。

I/O流有很多种,按照不同的分类方式,可以分为以下三类:

1.字节流和字符流

根据流操作的数据单位的不同,可以分为字节流和字符流。字节流以字节为单位进行数据的读写,每次读写一个或多个字节数据;字符流以字符为单位进行数据的读写,每次读写一个或者多个字符数据。

2.输入流和输出流

根据流传输方向的不同,又可分为输入流和输出流。其中输入流只能从流中读取数据,而不能向其写入数据;输出流只能向流中写入数据,而不能从中读取数据。

3.节点流和处理流

根据流的功能不同,可以分为节点流和处理流。其中节点流也被称为低级流,是指可以从一个特定的I/O设备(如磁盘)读写数据的流,它只能直接连接数据源,进行数据的读写操作;处理流也被称为高级流,它用于对一个已存在的节点流进行连接和封装,通过封装后的流来实现流的读写能力。当使用处理流时,程序不会直接连接到实际的数据源,而是连接在已存在的流之上。

Java中的I/O流主要定义在java.io包中,该包下定义了很多类,其中有4个类为流的顶级类,分别为InputStream和OutputStream,Reader和Writer。其中InputStream和OutPutStream是字节流,而Reader和Writer是字符流;InputStream和Reader是输入流,而OutPutStream和Writer是输出流。I/O流顶级类的分类如图1所示。

 I/O流的顶层类

图1 I/O流的顶层类





猜你喜欢:

IO流、字节流和字符流分别是什么?

Java培训之IO流&网络编程

字节流输入输出数据的常用方法有哪些?

黑马程序员java开发培训

分享到:
在线咨询 我要报名
和我们在线交谈!