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 用来写入字符文件的便捷类,文本文件按照平台提供的默认字符集编码成二进制序列,然后写入文件