IO流的部分类简述

Posted on 2019-05-06 23:20  翻身的咸鱼  阅读(303)  评论(0编辑  收藏  举报

InputStream 类:

InputStream 位于 java.io 包中,它是一个抽象类,表示字节输入流,需要定义 InputStream 子类的应用程序必须总是提供返回下一个输入字节的方法

提供了 read()/read(byte[]) 用于读取一个字节/多个字节存储到 byte[] 中,InputStream 有很多实现类,大部分是按照数据源的类型来分的

FileInputStream 类是 InputStream 类的实现类,是比较常用的一个实现类,用来从系统中的某个文件中读取输入字节程序中,FileInputStream 主要用于读取原始字节流,计算机中通过原始字节流存储的文件包括图像、音频、视频

OutputStream 类:

OutputStream 类位于 java.io 包中,是一个抽象类,用于表示字节输出流,提供了 write/write(byte[])  两个方法用于一次写一个字节/一次写多个字节到目的地

FileOutputStream 类是 OutputStream 类的实现类,是比较常用的一个实现类,用来从程序中把原始字节流写入到文件中,FileOutputStream 主要用于写入原始字节流,计算机中通过原始字节流存储的文件包括图像、音频、视频等都可以通过 FileOutputStream 写入

如果要读取文件、图片字节信息可以用字节输入流 (FileInputStream)

如果要写入文件、图片等字节信息可以用字节输出流 (FileOutputStream)

Reader 类:

Reader 类位于 java.io 包中,专门用于读取字符流的抽象类,提供了 read/read(cbuf) 方法分别用于读取一个字符/读取多个字符到缓冲数组

FileReader 类的父类的父类是 Reader 类,FileReader 专门用于读取字符文件的便捷类该类按照平台默认的字符集解码二进制序列到程序中

Writer 类:

Writer 类位于 java.io 包中,专门用于写入字符流的抽象类,提供了 write(int)/write(char[] cbuf) 方法分别用于写入一个字符/写入一个字符数组

FileWriter 类的父类的父类是 Writer 类,FileWriter 用来写入字符文件的便捷类,文本文件按照平台提供的默认字符集编码二进制序列,然后写入文件