Java中IO流的分类简介说明
下文笔者讲述IO流的分类说明,如下所示
IO流的分类
按流向分类: 输入流(InputStream)、输出流(OutputSteam) 按操作对象分类: 字节流(InputStream/OutputSteam)、字符流(Reader/Writer) 按功能分类: 节点流、处理流
字节流和字符流区别
1.字节流按8位传输 以字节为单位输入输出数据 2.字符流按16位传输 以字符为单位输入输出数据
节点流和处理流简介
节点流:
节点流为最 “原生态”的流
实现流的基本功能
需待操作的数据创建对象
如:File(文件)、Byte[](字节数组)、Char[](字符数组)等。
处理流:
处理流包装节点流
增强其功能(
如处理编码问题防止乱码、
使用缓冲流增强传输效率等)
其处理的是节点流,需用节点流对象创建处理流对象。
常用IO流
InputStream
字节输入抽象类
是各个字节输入类的祖先基类。
节点流
FileInputStream: 文件字节输入流(操作对象为File文件对象) ByteArrayInputStream: 字节数组输入流(操作对象为字节数组)
处理流
FilterInputStream:
过滤字节输入流
(简单的实现InputSteam类
通常使用它的子类BufferedInputSteam、DataInputStream等)
BufferedInputStream:
字节输入缓冲流
DataInputStream:
基本数据类型输入处理流
ObjectInputStream:
引用数据类型输入处理流(对象反序列化)
OutputStream
字节输出抽象类,是各个字节输出类的祖先基类。
字节流
FileOutputStream: 文件字节输出流(操作对象为File文件对象) ByteArrayOutputStream: 字节数组输出流(操作对象为字节数组)
处理流
FilterOutputStream:
过滤字节输出流
(简单的实现OutputStream类
用它的子类BufferedOutputSteam、DataOutputStream等)
BufferedOutputStream:
字节输出缓冲流
DataOutputStream:
基本数据类型输出处理流
ObjectOutputStream:
引用数据类型输出处理流(对象序列化)
Reader
字符输入抽象类 是各个字符输入类的祖先基类
节点流
FileReader: 文件字符输入流(操作对象为File文件对象) CharArrayReader: 字符数组输入流(操作对象为字符数组)
处理流
BufferedReader: 字符输入缓冲流 InputStreamReader: 字符输入格式处理流(可设置字符编码等)
Writer
字符输出抽象类,是各个字符输出类的最终基类。
节点流
FileWriter: 文件字符输出流(操作对象为File文件对象) CharArrayWriter: 字符数组输出流(操作对象为字符数组)
处理流
BufferedWriter: 字符输出缓冲流 OutputStreamWriter: 字符输出格式处理流(可设置字符编码等)
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


