一、输入输出流
读入一个字节序列的对象叫做输入流,写入一个字节序列的对象叫做输出流
抽象类InputStream和OutputStream是Java输入输出流的基础,字节相关操作的对象都继承自这两个。
InputStream和OutputStream有两个抽象的方法,由此衍生出来的类都实现了这两个方法,分别为:
- abstarct int read();
- abstarct int write();
很多时候,我们需要处理Unicode形式的存储信息,因为各国文字的差异,Unicode为了进行兼容,因此Java还有两个基于字符读写的抽象类,Reader和Writer,它们两个换门用来处理Unicode字符,很多处理字符的类多是继承自他们两。
二、Java的IO类图
下边是一个简单的InputStream和OutputStream类图,包含了我们常用的输入输出类
再来看一下Reader和Writer的层次结构
Java中IO相关的类特别多,每次写Java文件相关的代码时都会去百度查,没有去深入理解JavaIO相关的操作。JavaIO相关的类如此多的原因,也是为了IO操作的灵活性而设计的,IO操作一般都会阻塞住线程,并且比较耗时&#