Java I/O类库的基本架构
Java 的 I/O 操作类在包 java.io 下,大概有将近 80 个类,但是这些类大概可以分成四组,分别是:
基于字节操作的 I/O 接口:InputStream 和 OutputStream
基于字符操作的 I/O 接口:Writer 和 Reader
基于磁盘操作的 I/O 接口:File
基于网络操作的 I/O 接口:Socket
前两者主要根据传输数据的数据格式进行划分,后两组主要是根据传输数据的传输方式进行划分。
(注意:这里的Socket其实是不在java.io包下的)。
基于字节的I/O操作接口:
基于字节的 I/O 操作接口输入和输出分别是:InputStream 和 OutputStream。
InputStream 输入流的类继承层次:
OutputStream 输出流的类继承层次:
基于字符的 I/O 操作接口:
不管是磁盘还是网络传输,最小的存储单元都是字节,而不是字符,所以 I/O 操作的都是字节而不是字符,但
是为啥有操作字符的 I/O 接口呢?这是因为我们的程序中通常操作的数据都是以字符形式,为了操作方便当然
要提