Java中的IO大致可以分为两类,字节流和字符流。字节流又可以分为字节输入流和字节输出流,字符流又可以分为字节输入流和字符输入流。下面我们看一下他们的体系结构(UML类图表示)。
字节输入流
字节输入流的UML类图如下所示:
字节输出流

字符输入流

字符输出流

IO大致总图:

在IO的体系结构中所有字节输入流的父类都是InputStream,所有字节输出流的父类都是OutputStream,所有字符输入流的父类都是Reader,所有字符输出流的父类都是Writer。现在大家对java中的IO应该有个大致的印象了,在接下来的文章中我会尽可能的介绍所有的流的作用。