Node.js——Stream
介绍
- 文件流:我们一般对大一点的文件实现stream的方式进行操作
- http:显然http.createServer创建过程中的IncomingMessage实现了可读流的接口,ServerResponse实现了可写流的借口
文件流
- 写入流的close事件,必须通过ws.end() 方法来调用
- 文件的默认是flags是w,这是覆盖操作,追加的话是a
var fs = require('fs')
var rs = fs.createReadStream('./a.txt')
var ws = fs.createWriteStream('./hello.txt', {
flags: 'a'
})
rs.once('open', function () {
console.log('可读流打开了')
})
rs.once('close', function () {
console.log('可读流关闭了')
ws.end()
})
rs.on('data', function (data) {
ws.write(data)
})
ws.once('open', function () {
console.log('可写流打开了')
})
ws.once('close', function () {
console.log('可写流关闭了')
})
- 管道pipe对于流的操作更加方便,不需要在读流的过程中在写流
var fs = require('fs')
var rs = fs.createReadStream('./a.txt')
var ws = fs.createWriteStream('./hello.txt', {
flags: 'a'
})
rs.once('open', function () {
console.log('可读流打开了')
})
rs.once('close', function () {
console.log('可读流关闭了')
// ws.end()
})
// rs.on('data', function (data) {
// ws.write(data)
// })
ws.once('open', function () {
console.log('可写流打开了')
})
ws.once('close', function () {
console.log('可写流关闭了')
})
rs.pipe(ws)
Node.js——Stream的更多相关文章
- 9、Node.js Stream(流)
#########################################################################介绍Node.js Stream(流)Stream 是 ...
- Node.js stream 流学习
由于node.js 创建http 是这样的 http.createServer(function(request,response){}).listen(2000); 里面的request 就是rea ...
- Node.js Stream(流)
Stream 是一个抽象接口,Node 中有很多对象实现了这个接口.例如,对http 服务器发起请求的request 对象就是一个 Stream,还有stdout(标准输出). Node.js,Str ...
- [Node.js] Stream all things!
Node.js come alone with many Stream API. Stream is useful when handling large trunck of data. For ex ...
- 24.Node.js Stream(流)
转自:http://www.runoob.com/nodejs/nodejs-stream.html Stream 是一个抽象接口,Node 中有很多对象实现了这个接口.例如,对http 服务器发起请 ...
- Node.js Stream - 实战篇
邹斌 ·2016-07-22 11:04 背景 前面两篇(基础篇和进阶篇)主要介绍流的基本用法和原理,本篇从应用的角度,介绍如何使用管道进行程序设计,主要内容包括: 管道的概念 Browserify的 ...
- node.js Stream Buffer FsPromise
Stream: 类似这样:a.pipe(b).pipe(c); 我想写一个b.所以: var rs=new (require('stream').Readable)(); var ws=new (re ...
- node.js stream
stream是一个接口,流是可以从一个读取或写入数据的目标对象 ,Node 中有很多对象实现了这个接口 一.nodejs stream类型 1. Readable - 可读操作. Writable ...
- Node.js 中的 stream
什么是 stream Stream 借鉴自 Unix 编程哲学中的 pipe. Unix shell 命令中,管道式的操作 | 将上一个命令的输出作为下一个命令的输入.Node.js stream 中 ...
随机推荐
- VS2013如何调用别人发布的WebService程序
这篇经验会告诉我们如何调用别人发布的WebService,并且需要注意的事项.现在就拿获取天气预报的接口举例,因为文中不允许有链接,所以在下文图中有WebService链接的地址. 工具/原料 VS2 ...
- docker registry的CI规划
目前代码全部署在docker中, 考虑用jenkins打包成docker包再推送到docker registry 打包推送过程中自动按照日期打标签,并且刷新latest
- Apache POI组件操作Excel,制作报表(三)
Apache POI组件操作Excel,制作报表(三) 博客分类: 探索实践 ExcelApache算法Office单元测试 上一篇介绍了POI组件操作Excel时如何对单元格和行进行设置, ...
- Multi-threading Android Apps for Multi-core Processors – Part 1 of 2
Can my single-threaded application benefit from multiple cores? How? Even a single-threaded applicat ...
- bzoj 4521 电话号码
题目大意: 求$[L,R]$中,满足不同时存在4和8且有连续三个一样的个数 思路: 我为什么要记忆化搜索里带-1啊 我可真是个** 直接记忆化搜索记前两位是否有4,8以及是否满足连续 #include ...
- Watir: 右键点击实例(某些如果应用AutoIt来做会更加简单高效)
require 'watir' module Watir class Element def top_edge assert_exists assert_enabled ole_object.getB ...
- sum=1+2+3+…+100
sum = 1 for i in range(0,101): # sum = sum + i sum += i print(sum) sum +=i 等于 sum = sum + i
- 安装phpwind报错
在安装phpwind时,下面的报错提示是什么原因呢? 答:数据库密码应设置为空
- bzoj 2245 [SDOI2011]工作安排【最小费用最大流】
其实不用拆点,对于每个人我们假装他是\( s[i]+1 \)个点,可以由他向T点分别连\( s[i]+1 \)条边,容量为\( t[i][j]-t[i][j-1]\),由S点向所有产品i连容量为c[i ...
- bzoj 2087: [Poi2010]Sheep【凸包+极角排序+dp】
首先处理处理出来哪些边能连--能把羊分成两个偶数部分的,实现是在凸包上枚举极点,极角排序,枚举凸包上点对判断两边羊的个数的奇偶即可,设可以连边为v[i][j]=1 然后设f[i][j]为从i到j个凸包 ...