欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java中的IO:流的分类

程序员文章站 2022-03-27 17:25:33
...

目录

1.IO流简介
2.按方向分类
3.按数据单元分类
4.按功能分类
5.总结

 
1.IO流简介

1)IO流用来处理设备之间的数据传输
2)java对数据的操作是通过流的方式
3)根据不同的原则有不同的分类

 

2.按方向分类

简单理解就是:以内存为中,用来操作将硬盘已有的数据读取到内存的是输入流,用来操作将内存中的数据存储到硬盘中的是输出流.输入流进行读操作,输出流进行写操作.

输入流

InputStream

FileInputStream

ByteArrayInputStream

Reader

FileReader

所有字节输入流的超类

文件字节输入流

字节数组输入流

读取字符流的抽象类

文件字符输入流

输出流

OutputStream

FileOutputStream

ByteArrayOutputStream

Writer

FileWriter

所有字节输出流的超类

文件字节输出流

字节数组输出流

写入字符流的抽象类

文件字符输出流

 

3.按数据单元分类

以字节为单位的称为字节流,义字符为单位的称为字符流.字节流可以读写任意资源,字符流是为了更便捷的读写文字.

字节流

FileInputStream

ByteArrayOutputStream

文件字节输入流

字节数组输出流

字符流

BufferedReader

BufferedWriter

缓冲字符输入流

缓冲字符输出流

 

4.按功能分类

直接与底层文件资源连接的称为节点流,对节点流进行包装从而完成更高级功能的称为处理流,处理流在构造时须为其指定一个节点流.

节点流

FileInputStream

ByteArrayInputStream

PipedInputStream

文件流

字节数组流

管道流

处理流

InputStreamReader

BufferedReader

DataInputStream

ObjectInputStream

SequenceInputStream

桥梁流

缓冲流

数据流

对象流

合并流

 

5.总结:java流体系中根据不同的原则可以对流进行不同的分类,这使得每一种流都具备不同的特性,输入流/输出流,字符流/字节流,节点流/处理流等.