流定义:
任何有能力产出数据的数据源对象或者有能力接收数据的数据源对象。他屏蔽了实际的I/O设备处理数据的细节。
二、流的分类
流按不同分类方法可以分不同的类型:
① 按数据的流动方向可分为输入流和输出流。(注意:站在不同的角度,流的方向是不同,对于java中的流来说都是站在程序的角度,向程序中写入数据的流叫做输入流,从程序中读取数据的流叫做输出流)。
② 按处理数据的单位可以分为字节流和字符流。(字节流是指每次读或写的字节数为1,而字符流每次读或写的字节数为2.而我们中文的一个字是由两个字节组成的,所以当要将一个包含中文的数据集通过流来打印到屏幕时,要使用字符流。注意如果是将含中文的数据集写出到文件,则不一定要使用字符流,因为字节流写出的东西,虽然是一个一个字节写出的,但是使用其他软件打开时,它按GBK编码来显示的话,中文还是能够显示出来的。而屏幕是本来两个字节的东西,拆成两个一字节的东西分别显示,从而显示不了中文)。
③按功能的不同分为节点流和处理流。(节点流指的是直接从数据源读写数据的流,比如我们直接从文件读取数据的FileInputStream、FileReader,直接从内存读取的CharArrayReader、StringReader等。而处理流指的是“套接”在已经存在的流之上,进行读写的流)。
具体详解[url]http://topic.csdn.net/u/20100607/21/e3a9b768-2059-4213-85ab-b1aa32d072a8.html[/url]
流资源:能被流读写的数据资源。
流对象:能够读写数据资源的流。 |