java中的流机制(一)Java认证考试
文章作者 100test 发表时间 2010:02:02 17:50:19
来源 100Test.Com百考试题网
I/O流机制(1)
流的概念:有的教材上说,流是一种生产或者消费的信息抽象,实际上流是一种用来连接物理设备的逻辑,如果这么说,那么流就可以抽象出很多输入和输出,比如本地文件,磁盘文件,网络套接字,键盘等等.
流的分类:流主要分为字节流和字符流,其中字节流是针对二进制数据,而字符流是针对於Unicode码的.
字节流有两个重要的抽象类(InputStream和OutputStream),这两个抽象类都有他们自己的子类,这些子类是用来处理不同的设备的,如网络文件,本地文件,内存缓冲之类的等等,下面是InputStream和OutputStream在API中的定义形式:
public abstract class InputStream
extends Object
implements Closeable
public abstract class OutputStream
extends Object
implements Closeable, Flushable
对上面代码简述一下,也就是说,InputStream和OutputStream类是所有字节流类的根类,实现他们的普通类便可以有无条件的重写他们当中的方法,最常用的也就是read和write方法(主要是用来读写字节数据的),这两个方法在InputStream和 OutputStream是抽象的,所以他们的任何子类 比如FileOutStream就重写了write这个方法.
下面简要的以图示说明了上面的文字
OutputStream(字节输出流根类)
|
|----abstract write(int i)
|----void flush()
|----void close()
|
|
|------------FileOutputStream-----override write(int i)
|------------ByteArrayOutputStream--override write(int i)
|------------FilterOutputStream-----override write(int i)
|------------ ObjectOutputStream-----override write(int i)
|------------(API)
|------------(API)