IO流的原理和概念

Posted on 2019-05-05 23:02  翻身的咸鱼  阅读(1773)  评论(0编辑  收藏  举报

在程序中如何读写文件?不同的编程语言有不同的方式,而 JAVA 则提出了“流”的概念,通过“流”来读写文件

什么是流:

流(Stream)是指一连串的数据(字符或字节),是以先进先出的方式发送信息的通道,数据源发送的数据经过这个通道到达目的地,按流向区分为输入流和输出流

什么是输入流:数据流从数据源进入程序的过程就是输入流(InputStream)

什么是输出流:数据流从程序进入目的地的过程就是输出流(OutputStream)

输入输出流是相对于计算机内存来说的,而不是相对于数据源和目的地

按处理数据单元又可分为字节流和字符流,字节流是 8 位通用字节流,字符流是 16 位 Unicode 字符流

字节流用于处理传输文件、图片、音频、视频之类的数据,也可以处理传输经过编码成字节的字符串文件

字符流用于处理传输字符和字符串文件

什么是数据源:

数据源(DataSource)是提供原始数据的原始媒介,常见的:数据库、文件、其他程序、内存、网络连接、IO设备等

数据源就像水箱,流就像水管中流着的水流,程序就是我们最终的用户

流是一个抽象、动态的概念,是一串连续动态的数据集合

什么是目的地:存储经过加工的数据的媒介,例如:数据库、文件、U/硬盘、显示器、其他显示设备等