IO是指Input/Output,即输入和输出。以内存为中心:
- Input指从外部读入数据到内存,例如,把文件从磁盘读取到内存,从网络读取数据到内存等。
- Output指把数据从内存输出到外部,例如,把数据从内存写入到文件,把数据从内存输出到网络等。
流的输入和输出
Java程序通过流来完成输入/输出。流是生产或消费信息的抽象。流通过Java的输入/输出系统与物理设备链接。所有流的行为具有同样的方式。
一个输入流能够抽象多种不同类型的输入:从磁盘文件,从键盘或从网络套接字。同样,一个输出流可以输出到控制台,磁盘文件或相连的网络。
Java 定义了两种类型的流:字节类和字符类。
字节与字符
-
Bit 最小的二进制单位, 是计算机的操作部分。取值 0 或者 1
-
Byte(字节)是计算机操作数据的最小单位由 8 位 bit 组成 取值(-128-127)
-
Char(字符)是用户的可读写的最小单位,在 Java 里面由 16 位 bit 组成 取值(0-65535)
-
字节流(byte stream)为处理字节的输入和输出提供了方便的方法。例如使用字节流读取或书写二进制数据。
字节流
字节流由两个类层次结构定义。在顶层有两个抽象类InputSt