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: 字符输出格式处理流(可设置字符编码等)
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。