学到IO的同学经常对这一点比较糊涂。一会输入,一会输出,最后不知道从哪里输入输出。要了解输入输出,首先要明确一个参照物,即:流相对于什么是输入,相对于什么是输出?一般会把程序自身作为参照:输入流是将数据从某个源读取进程序,输出是将数据从程序写入到某个目的。因为程序是在内存中运行,更确切一点,是把内存作为参照。
一般而言,输入最终流向内存,输出是从内存流出。
当然也有例外:如字节数组流,是把数据从一个数组转移到另一个数组,根本就没超出内存的范围,只是从一个数组流入另一个数组。还有网络流,则是在客户端和服务端进行输入输出。这时要看流对象的调用者是谁?如果服务端调用客户端的输入流,就是将数输入到服务端。 |