您的位置:首页 > 其它

关于流(io)

2016-05-02 22:56 260 查看
流是一种对集合上的一系列转换延迟执行的机制。

这样简单理解记忆流:流就是一个帮定了一个“外设”的容器,具有缓冲功能。之所以产生流,是为了方便处理从一个容器往另一个容器里放东西的时候,不用考虑另一个容器是否来的及接收和是否能够容得下,这些都由流自动完成。所以简单理解流时,也可以把流看做事绑定了一个“外设容器”的“具有缓冲效果的外设”。

下面举例讲解为什么可以这样简单理解:

我们在new一个流的时候一般都需要提供一个参数,这个参数一般是个文件名或者自己数组等。如:

IOStream stream=new IOStream("f:\aa.txt") ; #只是随便举个例子,不涉及编程语言

这样一个stream流就建立好了,流建立好后就立刻绑定到一个“外设”,当然也可以绑定到一个内存对象,如字节数组,以后往字节数组里写东西。

以后用流的话可以如下:

string ss="hello,world"; ;

stream<<ss; #这里把stream当做了输出流,往文件里写东西

或者

string ss;

stream>>ss; #这里把stream当做了输入流,从文件中读取内容,存入字符串变量ss中。

当然有的变成语言不提供输入和输出运算符(>> , <<),而是提供了入reader和writer函数,而python和C就提供了输入输出运算符。

从上面代码(可以看成是伪代码,但几乎所有编程语言都大致这样使用)可以看成,new一个流对象的时候就一定绑定了一个容器(一般是外设),可以对流进行写操作和读操作。所以可以认为一个流对象就是一个“绑定了外设的容器”。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: