Skip to content

Commit 47faa07

Browse files
committed
Java IO体系结构
1 parent a79502c commit 47faa07

File tree

4 files changed

+8
-2
lines changed

4 files changed

+8
-2
lines changed

Java_IO/README.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,15 @@
33
#### 一、Java IO 体系结构 ####
44

55
#### (1). 流的概念 ####
6-
流是对数据传输的总称或抽象,流的本质是数据传输,是数据的有序排列,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。java语言采用流的机制来实现输入/输出
6+
流是对数据传输的总称或抽象,流的本质是数据传输,是数据的有序排列,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。
77

88
![](https://github.com/scalad/Note/blob/master/Java_IO/image/io_stream.jpg)
99

10-
在C++中,我们将数据从一个对象到另一个对象的流动抽象为"流"。Java继承C++的流机制,不过在具体实现上有别,Java中的"流"就是指把数据从一个对象移动到另一个对象的流动模式的抽象。(专业术语就是拿来装逼的![](https://github.com/scalad/Note/blob/master/Java_IO/image/emoji1.png))
10+
在C++中,我们将数据从一个对象到另一个对象的流动抽象为"流"。Java继承C++的流机制,不过在具体实现上有别,Java中的"流"就是指把数据从一个对象移动到另一个对象的流动模式的抽象。(专业术语就是拿来装逼的)![](https://github.com/scalad/Note/blob/master/Java_IO/image/emoji1.png)
11+
12+
James Gosling的Java流模式图与水流模式图概念映射。数据源(data source)即水库,数据目的地(data destination)就是脸盆,数据(data)就是水,流(stream)实例化就是在管子中流动的水流。输入流(input stream)就是用水泵从水库中抽出来要到水管中的水,输出流(output stream)经过水龙头将要达到脸盆中的水,计算机内存(memory)就是上图中的水流管道,关闭输入流(close input stream)就是关闭水泵开关,关闭输出流(close output stream)就是关闭关闭水龙头开关.
13+
14+
![](https://github.com/scalad/Note/blob/master/Java_IO/image/io_stream1.png)![](https://github.com/scalad/Note/blob/master/Java_IO/image/io_stream2.png)
1115

1216
#### (2). IO 流的分类 ####
1317
* 根据处理数据类型的不同分为:字符流和字节流
@@ -22,6 +26,8 @@
2226

2327
> 提醒:如果只是处理纯文本数据的话优先使用字符流,其他的使用字符流
2428
29+
字节流和字符流在物理层面的实现都是比特流,二进制数据流可以认为是字节流,而字符流是遵循unicode编码规则的字节流。因此计算机中的"流"概念实际上就是指字节数据(bytes data)从源对象对按顺序流向目标对象的一种流动形式
30+
2531
![](https://github.com/scalad/Note/blob/master/Java_IO/image/Java_IO_Detail.png)
2632

2733
![](https://github.com/scalad/Note/blob/master/Java_IO/image/input.png)

Java_IO/image/emoji1.png

-2.86 KB
Loading

Java_IO/image/io_stream1.png

4.07 KB
Loading

Java_IO/image/io_stream2.png

57.1 KB
Loading

0 commit comments

Comments
 (0)