当前位置:首页 > 日记 > 正文

Node.js 使用流实现读写同步边读边写功能

Node.js 使用流实现读写同步边读边写功能

废话不多说了,直接给大家贴代码了,具体代码如下所示:

//10个数 10个字节,每次读4b,写1blet fs=require("fs");function pipe(source,target) {  //先创建可读流,再创建可写流  //先读一次,rs.on(data)  //将读到的类容写入目标中 ,返回布尔值,如果是ture,继续写,默认情况应该是false,暂停读取  //ws.on('drain'),抽干后,回复读取  //监听读取文件完毕后,关闭读取rs.on('end')  let rs=fs.createReadStream(source,{highWaterMark:4});  let ws=fs.createWriteStream(target,{highWaterMark:1});  rs.on('data',function (chunk) { //chunk是buffer类型    if(ws.write(chunk)===false){      //写不下,停止读取      rs.pause()    }  });  ws.on('drain',function () {    //每次写的内存干了就恢复读取    console.log("111");    rs.resume() //恢复读取  });  rs.on('end',function (chunk) {    ws.end();  })}pipe('./1.txt','./3.txt')

上面这种写法比较繁琐,大家看完后,忘记就行

node.js提供给我们内置方法pipe

//10个数 10个字节,每次读4b,写1blet fs=require("fs");function pipe(source,target) {  let rs=fs.createReadStream(source,{highWaterMark:4});  let ws=fs.createWriteStream(target,{highWaterMark:1});  //可读流到可写流,异步操作,可以保证内存不会被淹没,读一点,写一点  // 如果想看文件类容,使用readFile  rs.pipe(ws);}pipe('./1.txt','./4.txt')

直接将读取的流操作到写入流中,还是异步操作

总结

以上所述是小编给大家介绍的Node.js 使用流实现读写同步边读边写功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

相关文章

Angular.js中下拉框实现渲染html的

Angular.js中下拉框实现渲染html的

方法,下拉框,电脑软件,Angular,js,前言大家都知道angualrjs处于安全的考虑,插值 指令会对相应字符串进行过滤,避免出现html攻击。但是在一些时候,我们需要渲染html,比如实现一个分级的下拉框代码如下:<body ng-app="app" ng-controller="cont…

微信小程序实现tab切换效果

微信小程序实现tab切换效果

效果,程序,电脑软件,微信小,tab,微信小程序之tab切换效果,如图:最近在学习微信小程序并把之前的公司app搬到小程序上,挑一些实现效果记录一下(主要是官方文档里没说的,毕竟官方文档只是介绍功能).wxml代码:<view class="body"> <view class="na…

如何将ps软件进行汉化

如何将ps软件进行汉化

方法,汉化,如何将,电脑软件,ps,  ps软件相信你很多同学都知道还有别的语言版本,如果下载的不是汉语可以进行汉化的。但是很多同学还不太清楚。那么接下来下面是小编整理的一些关于如何将ps软件进行汉化,供您参阅。将ps软件进行汉化的方法首…

PS制作唯美炫光金粉效果的圣诞文字

PS制作唯美炫光金粉效果的圣诞文字

教程,文字,金粉,圣诞,唯美,的文字特效学习者和未来的设计师们,大家好。下面的教程主要是教大家使用Photoshop来制作一个非常炫的金粉效果的圣诞文字。这样的金粉效果挺漂亮的,大家也可以把它运用到夜店的海报设计,或者电商设计当中。缺点是这…

powerpoint中柱状图怎么做

powerpoint中柱状图怎么做

柱状图,方法,怎么做,中做,电脑软件,  ppt中经常用到图表,比如柱形图、圆饼图等,这些图就是基于一定的数据建立起来的,所以我们得先建立数据表格然后才能生成图表,那么ppt中怎么做柱状图?下面给大家分享吧。在ppt中做柱状图的方法1. 打开excel…

30款最新的2018新年宣传单/海报/贺

30款最新的2018新年宣传单/海报/贺

宣传单,海报,新年,最新,电脑软件,接下来请的各位朋友欣赏30款最新的2018新年宣传单/海报/贺卡设计,包括新年快乐宣传单、新年庆祝宣传单、新年销售宣传单、新年庆祝啤酒聚会宣传单、新年倒计时宣传单、新年销售宣传单及新年聚会庆祝海报、除…

js实现移动端导航点击自动滑动效果

js实现移动端导航点击自动滑动效果

移动端,滑动效果,导航,电脑软件,js,本文实例为大家分享了js实现移动端导航点击滑动效果的具体代码,供大家参考,具体内容如下移动端模拟导航可点击自动滑动 0.1.4。导航可左右滑动,可点击边缘的一个,自动滚动下一个到可视范围【依赖于iscroll.js…

基于ASP.NET Core数据保护生成验证

基于ASP.NET Core数据保护生成验证

验证,数据保护,示例,电脑软件,NET,ASP.NET Core Data Protection 不仅提供了非对称加密能力,而且提供了灵活的秘钥存储方式以及一致的加解密接口(Protect与Unprotect)。Session中用到了它,Cookie验证中用到了它,OpenIdConnect中也用到了它。。。…

软件测试面试如何测试一个杯子

软件测试面试如何测试一个杯子

软件测试,杯子,测试,电脑软件,软件测试面试如何测试一个杯子在软件测试的面试中, 经常会碰到类似的问题。 比如:如何测试一个杯子, 或者如何测试一只笔。 要求你设计20个以上的test case.这类的面试题目,是考察面试者是否熟悉各种软件测试方法, …

chorme 浏览器记住密码后input黄色

chorme 浏览器记住密码后input黄色

处理方法,浏览器,记住密码,两种,黄色,使用chrome浏览器选择记住密码的账号,输入框会自动加上黄色的背景,有些设计输入框是透明背景的,需要去除掉这个黄色的背景;方法1:阴影覆盖input:-webkit-autofill { -webkit-box-shadow: 0 0 0 1000px whit…

Photoshop只需几步画出箭头

Photoshop只需几步画出箭头

只需,箭头,几步,画出,电脑软件,Photoshop作为一个强大的修图软件,其功能也是极其强大,需要花很多时间、精力去摸索、学习,我们往往会在很多图中看到箭头指示的图标,那么,用Photoshop该如何画箭头呢,下面由我来教你。步骤:1、首先打开Photoshop软件…

excel2007 打印时添加页码的教程ex

excel2007 打印时添加页码的教程ex

教程,页码,电脑软件,strong,  在Excel中录入好数据的时候经常需要把数据连同页码打印出来,或许很多朋友都不知道该如何打印添加页码,其实很简单,只需要在打印前添加页码就可以了。接下来是小编为大家带来的excel2007 打印时添加页码的教程,供…