前言

如果你搜索输入输出函数,那么你会看到各种各样的流。那么这个流到底是什么东西呢,本文将形象地类比介绍通用的流。


怎样理解通用的流

流,顾名思义就是像水流一样可以流动的事物,可以在不同的领域来去自如的事物。

请想象下面一个场景,你是一名程序员:

  1. 星期一,老板让你写程序,写完以后让你用电脑展示给他看
  2. 星期二,老板又让你写程序,写完以后用打印机打印给他看。
  3. 星期三,老板还让你写程序,写完以后用录音机播放给他听。
  4. 星期四,老板还是让你写程序,写完让你做单片机展示给他看。
  5. 星期五,老板又又又让你写程序,写完让你刻成光碟给他看。
  6. 星期六,老板不停地让你写程序,写完让你做个机器人给他看展示。
  7. 星期天,你猝死在家中...

为了满足老板的需求,你不仅会用电脑写代码,还会用打印机、会放录音机、会做单片机、会刻光碟、甚至还地要去学习如何造机器人!想想都要疯了。

身为一个程序员,不仅要在电脑上写出程序,还要费尽心机地学会这么多技能,再辛辛苦苦地把你写的程序改成在相应的设备能运行的版本,那这个程序员当的也太累了。

于是,神秘人出现了,他总结了stream流,他规定:信息技术所有相关领域都必须以流的形式输出数据,信息技术所有相关领域的相关设备都要以流的形式读取数据

自此以后,所有的程序员便只要在电脑上写程序就可以了,写完以后就变成了流,这股流流到了打印机,就能直接打印;流到了录音机,就能直接播放;流到了机器人,机器人就能直接开始活蹦乱跳了...就像这样:

这一股数据流,在各个领域内游刃,作为某个领域的工作者,只要掌握相应领域内的技能,就可以让自己的作品在多个领域中都能展露风采。

因此,你可以将流理解为一种格式,亦或是以这种格式存储的数据,很多信息技术相关的领域对于数据的输入输出,都需要这种格式或以这种格式存储的数据。多数情况下不需要用户主动将数据转换成流。

PS: 以上故事只是为了方便理解,其内容纯属博主瞎编,真正的stream流要比上文定义的复杂的多,现实中的老板也没有那么苛刻...

感谢您的阅读与耐心~ 如有错误或更为恰当的表示方式烦请指出~ 谢谢~

流(stream)如何理解?的更多相关文章

  1. nodeJS之流stream

    前面的话 当内存中无法一次装下需要处理的数据时,或者一边读取一边处理更加高效时,我们就需要用到数据流.NodeJS中通过各种Stream来提供对数据流的操作.本文将详细说明NodeJS中的流strea ...

  2. Java - 17 Java 流(Stream)、文件(File)和IO

    Java 流(Stream).文件(File)和IO Java.io包几乎包含了所有操作输入.输出需要的类.所有这些流类代表了输入源和输出目标. Java.io包中的流支持很多种格式,比如:基本类型. ...

  3. 流Stream 文件File 流IO

    Java 流(Stream).文件(File)和IO Java.io 包几乎包含了所有操作输入.输出需要的类.所有这些流类代表了输入源和输出目标. Java.io 包中的流支持很多种格式,比如:基本类 ...

  4. 20180803-Java 流(Stream)、文件(File)和IO

    Java 流(Stream).文件(File)和IO 下面的程序示范了用read()方法从控制台不断读取字符直到用户输入"q". // 使用BufferedReader 在控制台读 ...

  5. [转]as3事件流机制彻底理解

    题记: 看过网上一些as3事件流的教程,觉得大多都讲得不甚清楚,让人不能直观的理解事件流.而这篇教程以将事件流过程比喻成捕鱼过程,形象简单. 在此基础上对于as3事件流总算有了全面的理解.事件流机制说 ...

  6. JAVA基础知识之IO——IO流(Stream)的概念

    Java IO 流 Java将不同的设备或载体(键盘.文件.网络.管道等)的输入输出数据统称为"流"(Stream),即JAVA的IO都是基于流的. JAVA传统的所有流类型类都包 ...

  7. [Linux] 流 ( Stream )、管道 ( Pipeline ) 、Filter - 笔记

    流 ( Stream ) 1. 流,是指可使用的数据元素一个序列. 2. 流,可以想象为是传送带上等待加工处理的物品,也可以想象为工厂流水线上的物品. 3. 流,可以是无限的数据. 4. 有一种功能, ...

  8. 【stanford C++】字符串(String)与流(Stream)

    字符串(String)与流(Stream) 一.C++中字符串(String) 字符串(String):就是(可能是空的)字符序列. C++中的字符串在概念上和Java中的字符串类似. C++字符串用 ...

  9. c#中字节数组byte[]、图片image、流stream,字符串string、内存流MemoryStream、文件file,之间的转换

    字节数组byte[]与图片image之间的转化 字节数组转换成图片 public static Image byte2img(byte[] buffer) { MemoryStream ms = ne ...

  10. Java笔记:Java 流(Stream)、文件(File)和IO

    更新时间:2018-1-7 12:27:21 更多请查看在线文集:http://android.52fhy.com/java/index.html java.io 包几乎包含了所有操作输入.输出需要的 ...

随机推荐

  1. 分享一个自己封装且一直在维护的依赖.net4.5的http异步组包工具类(支持get,post( 表单 ,json, 包含图片等文件的流提交) ,cookie管理,自动跳转,代理IP,https的支持,高并发的配置等等

    1.)Nuget安装: 搜索 ConfigLab.Comp, 安装最新版即可. 2.)组包示例. 2.1)模拟post表单提交并包含普通参数和一个图片文件(基于HttpFileUploadAssist ...

  2. [常用工具] shell脚本快速入门笔记

    Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 脚本(shell script),是一种为 shell 编写的脚本程序.业界所说的 shell 通常都是指 sh ...

  3. Hadoop详解(06) - Yarn平台架构和资源调度器

    Hadoop详解(06) - Yarn平台架构和资源调度器 Yarn平台架构 Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MapReduce等运算程 ...

  4. vue多界面开发

    1. 安装 vue-cli,已有的请跳过这一步 npm install -g @vue/cli 若已安装旧版 vue-cli 则需要先卸载 vue-cli npm uninstall -g vue-c ...

  5. Docker 基础 - 3

    Web 服务器与应用 Nginx 我的Nginx Docker镜像 ## 设置继承自己创建的 sshd 镜像 FROM caseycui/ubuntu-sshd ## 维护者 LABEL mainta ...

  6. py教学之字典

    字典简介 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下所示: ...

  7. 保姆级手把手图文并茂教你配置MAC系统Flutter环境

    Flutter 是什么 Flutter是Google开源的构建用户界面(UI)工具包,帮助开发者通过一套代码库高效构建多平台精美应用,支持移动.Web.桌面和嵌入式平台.Flutter 开源.免费,拥 ...

  8. 【大型软件开发】浅谈大型Qt软件开发(三)QtActive Server如何通过COM口传递自定义结构体?如何通过一个COM口来获得所有COM接口?

    前言 最近我们项目部的核心产品正在进行重构,然后又是年底了,除了开发工作之外项目并不紧急,加上加班时间混不够了....所以就忙里偷闲把整个项目的开发思路聊一下,以供参考. 鉴于接下来的一年我要进行这个 ...

  9. .Net6 微服务之Polly入门看这篇就够了

    前言 O(∩_∩)O 大家好!书接上文,本文将会继续建立在 .Net6 使用 Ocelot + Consul 看这篇就够了 项目的基础上进行Polly的介绍,然后这篇文章只是个人学习与分享,不喜勿喷, ...

  10. 【rust】rsut基础:模块的使用一、mod 关键字、mod.rs 文件的含义等

    本文内容 这篇文章是实战性质的,也就是说原理部分较少,属于经验总结,rust对于模块的例子太少了.rust特性比较多(悲),本文的内容可能只是一部分,实现方式也不一定是这一种. 关于 rust 模块的 ...