流(Stream)为何物
2018-05-09 本文已影响11人
elef
流(Stream)就是指像水流一样长长的一串的东西。在很多时候,流(Stream)是字节流(Byte Steram)的简称,也就是长长的一串字节。当然,除了字节流,我们还可以有视频流、音频流、数据流,流只有一个特征就是连续,流可以没有头可以没有尾,甚至可能没有绝对的位置(因为无头无尾),但是由于流是连续的,所以有相对位置。
流可以理解为一种设备(Device),要么是提供流的来源,要么是流的目的地,要么两者兼有。文件可以抽象为一种流,文件流可以提供流的读取,也可以提供流的写入。摄像头也可以抽象为一种流,提供视频数据流的来源。流是数据(data)的管道(Pipeline),不是数据的容器。文件还有保存和管理数据的功能,但这不能称之为流,只有在读取或写入的时候流才产生。
有些场景下临时使用流的场景,可以采用内存流替代文件流,因为一旦采用文件流,就会涉及到磁盘文件的写入和读取的权限问题和临时文件的管理。
摘自:
如何理解编程语言中「流」(stream)的概念?
https://www.zhihu.com/question/27996269
什么是流?它与文件之间的关系如何?
https://zhidao.baidu.com/question/1499218413081425619.html