Java IO

1,182 阅读1分钟

Java IO

IO体系总览

graph TB
A(IO) -->A1(OutputStream)
A -->A2(InputStream)
A -->A3(Writer)
A -->A4(Reader)
graph TB
A1(OutputStream) -->B9(ByteArrayOutputStream)
A1 -->B10(FileOutputStream)
A1 -->B11(FilterOutputStream)
A1 -->B12(ObjectOutputStream)
A1 -->B13(PipedOutputStream)
graph TB
A2(InputStream) -->B1(AudioInputStream)
A2 -->B2(ByteArrayInputStream)
A2 -->B3(FileInputStream)
A2 -->B4(FilterInputStream)
A2 -->B5(ObjectInputStream)
A2 -->B6(PipedInputStream)
A2 -->B7(SequenceInputStream)
A2 -->B8(StringBufferInputStream)
graph TB

A3(Writer) -->B14(BufferedWriter)
A3 -->B15(CharArrayWriter)
A3 -->B16(FilterWriter)
A3 -->B17(OutputStreamWriter)
A3 -->B18(PipedWriter)
A3 -->B19(PrintWriter)
A3 -->B20(StringWriter)
graph TB
A4(Reader) -->B21(BufferedReader)
A4 -->B22(CharArrayReader)
A4 -->B23(FilterReader)
A4 -->B24(InputStreamReader)
A4 -->B25(PipedReader)
A4 -->B26(StringReader)

操作单元分类:

字节流(InputStream,OutputStream):最小的操作单元是字节。

字符流(Reader,Writer): 最小的操作单元是字符

根据流的流向分类(这里的是以内存为参照物):

输入流(InputStream,Reader):将数据从磁盘读取到内存中

输出流(OutputStream,Writer):将数据从内存写入到磁盘中