流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件、内存、或是网络连接。类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流。这时候你就可以想象数据好像在这其中“流“动一样,如下图
凡是从外部设备流向中央处理器cpu的数据流,称为输入流,即程序读数据的时候用输入流;
凡是从中央处理器CPU流向外部设备的数据流,称为输出流,即程序把数据写入外设的时候用输出流;
Java 中的两种流,一种是字节流,另一种是字符流,分别由四个抽象类来表示(每种流包括输入和输出两种所以一共四个) : InputStream , OutputStream , Reader , Writer 。 Java 中其他多种多样变化的流均是由它们派生继承来的
更多灵活多变的功能是由它们的子类来扩充完成的。
抽象类
InputStream
,
OutputStream
处理
字节流
;
抽象类
Reader
,
Writer
处理
字符流
;
在实际开发过程中,经常能用到io流的功能就是上传、下载,以及基于上传,下载后的衍生功能,比如在线比对等。
其他IO流操作功能代码待续!