Java I/O (1) - 输入/输出流

时间:2023-02-26 16:38:52

先说概念:

Java API中,可以从其中读入一个字节序列的对象叫做输入流,可以向其中写入一个字节序列的对象叫做输出流。这些字节序列的来源地 和 目的地 可以文件、网络连接甚至内存块。抽象类InputStrean和OutputStream构成了I/O类层次结构的基础。

可以把输入输出流理解成一个媒介,像是管道,我们要存储或传输的数据(即上面提到的字节序列)就承载在这个媒介上,但是仅仅有了输入、输出流,还需要对这些流进行读写啊,也就是把数据放到媒介上、或者 从这些媒介上拿下来。java提供了抽象类Reader 和 Writer 用于对输入、输出流中的内容进行读、写。

个人理解,这里的“入”和“出”是相对于内存而言的,程序运行过程中的数据都是存储在内存上的,有时候我们需要把这些数据写到磁盘上或通过网络发送出去,这就是output,有时候我们需要从磁盘文件上或者从网络上读取数据,放到内存里以供程序使用,这就是input。