Java中的IO流分类

  • 输入IO流
    • 输入字节流(InputStream
      • 处理流
        • 缓冲流(BufferedInputStream
        • 转换流
        • 数据流(DataInputStream
      • 标准流(System.inInputStream))
    • 输入字符流(Reader
      • 处理流
        • 缓冲流(BufferedReader
        • 转换流(InputStreamReader
        • 数据流
      • 标准流

UML关系图如下所示

PantUML语法
1
2
A <|-- B //B继承A
C <|... D //D实现了C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
@startuml

abstract class InputStream{
}

class BufferedInputStream{
}

class FilterInputStream{
}

class DataInputStream{
}

interface DataInput{
}

abstract class Reader{
}

class BufferedReader{
}

class InputStreamReader{
}

FilterInputStream <|-- BufferedInputStream
InputStream <|-- FilterInputStream

FilterInputStream <|-- DataInputStream
DataInput <|.. DataInputStream

Reader <|-- BufferedReader

Reader <|-- InputStreamReader

@enduml

15_01


  • 输出IO流
    • 输出字节流(OutputStream
      • 处理流
        • 缓冲流(BufferedOutputStream
        • 转换流
        • 数据流(DataOutputStream
      • 标准流(System.outPrintStream))
    • 输出字符流(Writer
      • 处理流
        • 缓冲流(BufferedWriter
        • 转换流(OutputStreamWriter
        • 数据流
      • 标准流(PrintWriter

UML关系图如下所示

PantUML语法
1
2
A <|-- B //B继承A
C <|... D //D实现了C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
@startuml

abstract class OutputStream{
}

class BufferedOutputStream{
}

class FilterOutputStream{
}

class DataOutputStream{
}

class PrintStream{
}

abstract class Writer{
}

class BufferedWriter{
}

class OutputStreamWriter{
}

class PrintWriter{
}

FilterOutputStream <|-- BufferedOutputStream
OutputStream <|-- FilterOutputStream

FilterOutputStream <|-- DataOutputStream
DataOutput <|.. DataOutputStream

FilterOutputStream <|-- PrintStream

Writer <|-- BufferedWriter

Writer <|-- OutputStreamWriter

Writer <|-- PrintWriter

@enduml

15_02