通过 InputStreamReader 转换后的字符流读取速度比较慢,所以再使用 BufferReader
类来封装 InputStreamReader 类。具体过程入下所示:
InputStream->InputStreamReader->BufferReader
字节流
字符流
字符流
由于 InputStreamReader
一个一个读取字符流比较慢,
所以>BufferReader 封装了
InputStreamReader
OutputStreamWriter->OutputStream
字符流
字节流
Java IO
的一般使用原则 :
一、按数据来源(去向)分类:
1
、 是 文 件 : FileInputStream, FileOutputStream, (
字 节 流 )FileReader,
FileWriter(
字符 )
2
、是 byte[]
: ByteArrayInputStream, ByteArrayOutputStream(
字节流 )
3
、是 Char[]: CharArrayReader, CharArrayWriter(
字符流 )
4
、 是 String: StringBufferInputStream, StringBufferOuputStream (
字 节 流 )
StringReader, StringWriter(
字符流 )
5
、网络数据流: InputStream, OutputStream,(
字节流 ) Reader, Writer(
字符流 )
二、按是否格式化输出分:
1
、要格式化输出: PrintStream, PrintWriter
三、按是否要缓冲分:
1
、 要 缓 冲 : BufferedInputStream, BufferedOutputStream,(
字 节 流 )
BufferedReader, BufferedWriter(
字符流 )
四、按数据格式分: