关于流(io)

来源:互联网 发布:php小游戏源代码 编辑:程序博客网 时间:2024/05/08 13:52

流是一种对集合上的一系列转换延迟执行的机制。

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

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

我们在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一个流对象的时候就一定绑定了一个容器(一般是外设),可以对流进行写操作和读操作。所以可以认为一个流对象就是一个“绑定了外设的容器”。


1 0
原创粉丝点击