这张图片想必大家也都见过很多次,很详细的将Java I/O 相关的内容罗列了出来,暂且不要被吓到,我们边学边总结,最后回过头再来看这张图片,会有不一样的感受。
Java的核心库java.io提供了全面的IO接口。包括:文件读写、标准设备输出等。Java中IO是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入。
流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接。类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流。这时候你就可以想象数据好像在这其中“流”动一样。
上述流的概念摘自百度百科(http://baike.baidu.com/item/java.io),博主感觉这个概念解释的已经蛮清楚的了,再通俗的讲,流就是一个“管道”,当你的程序读取或者是存储数据的时候,数据在这个管道里流动。
输入流:程序可以从中读取数据的流(从硬盘到内存)
输出流:程序能向其中写入数据的流(从内存到硬盘)
字节流:以字节为单位传输数据的流
字符流:以字符为单位传输数据的流
JDK所提供的所有流类位于java.io包中,都分别继承自以下四种抽象流类。
原文:http://www.cnblogs.com/walkerc/p/6731047.html