了解Stream

认识Stream

  • 什么是流呢?
    • 我们的第一反应应该是流水,源源不断的流动;
    • 程序中的流也是类似的含义,我们可以想象当我们从一个文件中读取数据时,文件的二进制(字节)数据会源源不断的被读取到我们程序中;
    • 而这个一连串的字节,就是我们程序中的流;
  • 所以,我们可以这样理解流:
    • 是连续字节的一种表现形式和抽象概念;
    • 流应该是可读的,也是可写的;
  • 在之前学习文件的读写时,我们可以直接通过 readFile或者 writeFile方式读写文件,为什么还需要流呢?
    • 直接读写文件的方式,虽然简单,但是无法控制一些细节的操作;
    • 比如从什么位置开始读、读到什么位置、一次性读取多少个字节;
    • 读到某个位置后,暂停读取,某个时刻恢复读取等等;
    • 或者这个文件非常大,比如一个视频文件,一次性全部读取并不合适;

文件读写的Stream

  • 事实上Node中很多对象是基于流实现的:
    • http模块的Request和Response对象;
    • process.stdout对象;
  • 官方:另外所有的流都是EventEmitter的实例:源码中的stream的实现(EE:EventEmitter)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值