background image

通过 InputStreamReader 转换后的字符流读取速度比较慢,所以再使用 BufferReader

类来封装 InputStreamReader 类。具体过程入下所示:

InputStream->InputStreamReader->BufferReader
   

         

       

 

字节流

字符流

字符流

                                由于 InputStreamReader
                                一个一个读取字符流比较慢,

                                所以>BufferReader 封装了
                                InputStreamReader

OutputStreamWriter->OutputStream

   

              

字符流

字节流

Java IO 

    

的一般使用原则 :

 

一、按数据来源(去向)分类:

1  

 

、 是 文 件 : FileInputStream,   FileOutputStream,   (  

 

字 节 流 )FileReader, 

FileWriter( 

 

字符 ) 

 

、是 byte[]   

: ByteArrayInputStream, ByteArrayOutputStream( 

 

字节流 ) 

 

、是 Char[]: CharArrayReader, CharArrayWriter( 

 

字符流 ) 

4  

 

、 是 String: StringBufferInputStream, StringBufferOuputStream (  

 

字 节 流 )

StringReader, StringWriter( 

 

字符流 ) 

 

、网络数据流: InputStream, OutputStream,( 

 

字节流 ) Reader, Writer( 

 

字符流 ) 

 

二、按是否格式化输出分:

 

、要格式化输出: PrintStream, PrintWriter 

 

三、按是否要缓冲分:

1  

 

、 要 缓 冲 : BufferedInputStream,   BufferedOutputStream,(  

 

字 节 流 ) 

BufferedReader, BufferedWriter( 

 

字符流 ) 

 

四、按数据格式分: