[Java教程]node.js 利用流实现读写同步,边读边写

0 2017-09-10 13:00:14 //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')

直接将读取的流操作到写入流中,还是异步操作 本文网址:http://www.shaoqun.com/a/322875.html

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。

JS

0

java文件边读边写_[Java教程]node.js 利用流实现读写同步,边读边写相关推荐

  1. java爬虫拉勾网_[Java教程]node.js爬虫爬取拉勾网职位信息

    [Java教程]node.js爬虫爬取拉勾网职位信息 0 2017-03-14 00:00:21 简介 用node.js写了一个简单的小爬虫,用来爬取拉勾网上的招聘信息,共爬取了北京.上海.广州.深圳 ...

  2. java nodejs aes_Java与Node.js利用AES加密解密出相同结果的方法示例

    前言 工作中遇到nodejs端通过aes加密,安卓客户端Java解密,同样nodejs也需要解密安卓客户端加密过来的内容,发现两个加密结果不一样,查询资料发现java端需要对密钥再MD5加密一遍,以下 ...

  3. java文件加密解密实验报告_《网络信息安全技术》_实验报告_破译vigenamp#232;re_密码加密的密文...

    <<网络信息安全技术>_实验报告_破译vigen&amp#232;re_密码加密的密文>由会员分享,可在线阅读,更多相关<<网络信息安全技术>_实验报 ...

  4. 放大镜用java怎么写_[Java教程]用js实现放大镜的效果

    [Java教程]用js实现放大镜的效果 0 2016-05-22 22:00:06 第一次发博客,还有点小激动,本人现在正在天津上大学,希望以后从事前端这一行业,学习的时间不长,写博客为了记录自己的学 ...

  5. java文件上传到云服务器,java文件上传到云服务器

    java文件上传到云服务器 内容精选 换一换 当用户拥有Linux操作系统的外部镜像文件,且类型及操作系统符合外部镜像文件格式和操作系统类型要求时,用户可以将外部镜像文件创建为Linux系统盘镜像. ...

  6. java get post 区别详解_[Java教程]GET 与 POST 其实没有什么区别

    [Java教程]GET 与 POST 其实没有什么区别 0 2020-12-30 11:36:20 GET 与 POST 其实没有什么区别 本文写于 2020 年 12 月 30 日 GET 与 PO ...

  7. java监听变量的变化_[Java学习小记]使用PropertyChangeSupport来监听变量的变化

    最近开始要着手写一个web项目 ,之前没怎么 写过Java ,所以觉得蛮有必要把每天学习到的一些知识点或者解决的一些问题给记录下来 .一来供自己在整理过程中掌握巩固,二来也为以后再次出现该问题时能快速 ...

  8. java静态变量需要初始化吗_» Java静态变量初始化顺序浅谈

    Java 类初始化顺序在网上已经有很多文章了,这里不再谈那么多,仅仅谈下Java静态变量的初始化顺序,如果你是Java高手,并且自认为对这个顺序已经掌握到了炉火纯青的境界,请忽视这篇文章. 前天看了Y ...

  9. 安装JAVA文件被删_Android 删除无用Java文件

    项目规模不断地扩大,累积的无用Java文件,也会越来越多,这里我介绍一种清理方法:使用Ucdetector工具删除无用Java文件. 首先,你需要安装Ucdetector插件,配置好report生成目 ...

最新文章

  1. OpenXml编程--去除自动生成的word文档中由分页符和换行符产生的空白页
  2. 基本环境安装: Centos7+Java+Hadoop+Spark+HBase+ES+Azkaban
  3. Debian中几个bash初始化脚本使用区别--【转载】
  4. 了解一下Cookie吧
  5. RedisTemplate中opsForValue和opsForList方法使用
  6. 字符编码在python中的处理与储存_python----字符编码与文件处理
  7. java如何给数组倒置_数组元素倒置-Java
  8. ALSA声卡12_从零编写之添加音量控制_学习笔记
  9. linux 1号硬盘不能用,linux 挂载硬盘的疑问 : IDE1 上的接口无法使用.
  10. 二维教组A[12][18]采用列优先的存储方法,若每个元素各占3个存储单元,且第1个元素的地址为150,则元素A[9][7]的地址为 ( )
  11. 计算并联电阻的阻值(信息学奥赛一本通-T1015)
  12. python生成列表_python列表生成器与生成器
  13. 晨哥真有料丨你太容易被得到了!
  14. 2015-12-01 存储过程
  15. poj 2516(最小费用最大流)
  16. 语音文字识别基本原理和经典综述
  17. 使用 .NET Core 开发 BT Tracker 服务器
  18. 【Day2.7】在华欣夜市吃海鲜大餐
  19. 【蓝凌系统】如何使用数据中台进行省市县级联配置
  20. 4g+uim卡是什么卡_你知道SIM卡是什么吗?

热门文章

  1. 如何进bios设置ssd固态硬盘为第一启动
  2. CMD查看Win10注册码
  3. 小红书严惩刷量行为:如何才能优雅的种草
  4. Cursor攻略,吃个螃蟹
  5. netty源码分析及优点
  6. 做人温和一点,做事狠一点。
  7. 一文搞掂十大经典排序算法
  8. 计算机显示另外一个用户登录,电脑两个用户怎么在欢迎界面只显示一个?
  9. 计算机基础名词(二)
  10. python求音频的梅尔倒谱系数