IO:Input/Output,输入输出
- 输入流:从外界设备—>程序(内存)
- 输出流:从程序(内存)—>外界设备
按照处理数据的类型分类:
- 字节流: 处理字节相关,比如音频、视频、图片、文本等二进制数据,以字节(8bit)为单位,可以处理几乎所有文件(InputStream/OutputStream)。
- 字符流:处理字符相关,比如文本数据,以字符为单位,根据码表映射字符,一次读取多个字节(Reader/Writer)。
字节流
InputStream 是输入字节流的父类,它是⼀个抽象类,常见子类有FileInputStream、
BufferedInputStream、FilterInputStream、ByteArrayInputStream、ObjectInputStream等…
OutputStream是输出字节流的父类,它是⼀个抽象类,常见子类有FileOutputStream、
BufferedOutputStream、FilterOutputStream、ByteArrayOutputStream、ObjectOutputStream等…
字符流
部分库不推荐使用Reader/Writer,所以简单了解即可。
Reader是输入字符流的父类,它是⼀个抽象类, 常见子类有FileReader、BufferedReader、InputStreamReader、StringReader等…
Writer是输出字符流的父类,它是⼀个抽象类, 常见子类有FileWriter、BufferedWriter、OutputStreamWriter、StringWriter等…
在使用IO流时需要处理IO异常,点击查看处理方法。