Java IO IO类之间的区别于联系

Java IO 包讲解

IO类的继承关系如下:

字节流:

image-20210315152528221

字符流:

image-20210315154310097

具体使用就没必要说了,大概说一下关系:



字节流和字符流

字节流,是将文件,以字节的形式读取和读出。

适合操作图片程序等非文本文件

字符流,是将文件,以字符的形式读取和读出。

适合操作文本文件



字节流

InputStreamOutputStream是基类,无法直接使用



FileInputStream是一个字节一个字节的读取,需要大量IO操作

BufferedInputStream是先将字节读入缓存,然后一次性操作,IO操作次数少,效率高

BufferedInputStream需要通过FileInputStream来构造

BufferedInputStream bis = new BufferedInputStream(new FileInputStream(f));



FileOutputStreamBufferedOutputStream同理




字符流

ReaderWriter是基类,无法直接使用



FileReaderBufferReader的关系,与FileInputStreamBufferedInputStream是类似的,就连构造方式都是一样的

但是,InputStreamReaderBufferedReader的关系就有点复杂
因为InputStreamReader字节与字符 的桥梁,所以,InputStreamReader需要先使用FileInputStream创建,然后,才能用来创建BufferedReader



OutputStreamWriterFileWriterBufferWriter三者的关系同上

猜你喜欢

转载自blog.csdn.net/weixin_44062380/article/details/114837526