返回顶部
首页 > 资讯 > 前端开发 > node.js >Node.js 使用流实现读写同步边读边写功能
  • 494
分享到

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

功能Nodejs 2022-06-04 17:06:58 494人浏览 八月长安
摘要

废话不多说了,直接给大家贴代码了,具体代码如下所示: //10个数 10个字节,每次读4b,写1b let fs=require("fs"); function pipe(source,target)

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


//10个数 10个字节,每次读4b,写1b
let 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,写1b
let 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 使用流实现读写同步边读边写功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程网网站的支持!

--结束END--

本文标题: Node.js 使用流实现读写同步边读边写功能

本文链接: https://lsjlt.com/news/12371.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Node.js 使用流实现读写同步边读边写功能
    废话不多说了,直接给大家贴代码了,具体代码如下所示: //10个数 10个字节,每次读4b,写1b let fs=require("fs"); function pipe(source,target) ...
    99+
    2022-06-04
    功能 Node js
  • Node.js如何使用流实现读写同步边读边写功能
    这篇文章主要为大家展示了“Node.js如何使用流实现读写同步边读边写功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Node.js如何使用流实现读写同步边读...
    99+
    2024-04-02
  • Node.js怎么使用流实现读写同步边读边写功能
    本篇内容主要讲解“Node.js怎么使用流实现读写同步边读边写功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Node.js怎么使用流实现读写同步边读边写功能”吧!具体代码如下所示://10个...
    99+
    2023-06-17
  • node.js 利用流实现读写同步,边读边写的方法
    如下所示: //10个数 10个字节,每次读4b,写1b let fs=require("fs"); function pipe(source,target) { //先创建可读流,再创建可写流 ...
    99+
    2022-06-04
    方法 node js
  • Node.js怎么使用流实现边读边写功能
    这篇“Node.js怎么使用流实现边读边写功能”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Node.js怎么使用流实现边读...
    99+
    2023-07-04
  • node.js中怎么利用流实现读写同步
    node.js中怎么利用流实现读写同步,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。如下所示://10个数 10个字节,每次读4...
    99+
    2024-04-02
  • android实现NFC读写功能
    一、NFC是什么? 近距离无线通讯技术,这个技术由非接触式射频识别(RFID)演变而来,由飞利浦半导体(现恩智浦半导体公司)、诺基亚和索尼共同研制开发,其基础是RFID及互连技术。近...
    99+
    2024-04-02
  • C语言实现文件读写功能流程
    目录打开文件关闭文件写入文件读取文件二进制 I/O 函数上一章我们讲解了 C 语言处理的标准输入和输出设备。本章我们将介绍 C 程序员如何创建、打开、关闭文本文件或二进制文件。 一个...
    99+
    2022-12-30
    C语言文件读写函数 C语言文件读写操作
  • Node.js 文件读写:同步与异步的性能启示录
    同步文件读写 同步文件读写操作会阻塞当前线程,直到操作完成。这可能会导致应用程序无响应,尤其是在处理大型文件时。 const fs = require("fs"); // 同步读取文件 const data = fs.readFileS...
    99+
    2024-04-02
  • Node.js 文件读写:同步与异步的性能神话揭秘
    长期以来,一直存在一种误解,即同步文件读写操作总是比异步操作更快。这种误解源于以下原因: 同步操作会在调用时阻塞主线程,而异步操作不会。 在大多数情况下,主线程比异步事件循环执行代码更快。 然而,这种误解忽略了以下事实: 在 Nod...
    99+
    2024-04-02
  • Java 中怎么利用Thread实现读写同步
    Java 中怎么利用Thread实现读写同步,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1.读写者同步问题多个读者可以同时读取同一个缓冲区,但当有写者对缓冲区进行写操作时,具...
    99+
    2023-06-03
  • 如何使用redis读写数据同步
    Redis是一个内存数据库,它支持非阻塞I/O操作,并且具有非常高的读写性能。在Redis中,数据的读写是同步进行的,所以不需要特别...
    99+
    2023-09-01
    redis
  • Node.js 文件读写实战:同步与异步的效率之争
    同步文件读写 同步读写操作在主线程上顺序执行,直到操作完成。这意味着在进行读写操作期间,主线程将被阻塞,无法执行其他任务。同步读写操作的优势在于其简单和可预测性。它易于理解和实现,并且操作结果始终在调用该操作的函数中可用。 const f...
    99+
    2024-04-02
  • Java怎么实现读写文件功能
    Java中实现读写文件功能可以通过使用输入流和输出流来实现。读文件:1. 创建一个File对象,指定要读取的文件路径。2. 创建一个...
    99+
    2023-08-11
    Java
  • android中NFC读写功能的实现方法
    本文实例为大家分享了android中NFC读写功能的具体代码,供大家参考,具体内容如下 首先检查一下设备是否支持NFC功能 private void checkNFCFuncti...
    99+
    2024-04-02
  • 基于Java实现Avro文件读写功能
    目录模式(schema)与其他系统的比较Java客户端实现定义一个schema使用Java代码生成插件生成的User类进行序列化和反序列化在不生成User类的情况下直接进行序列化和反...
    99+
    2024-04-02
  • C++ IO设备读写功能实现详解
    目录1 输入输出IO流1.1 图解输入输出流1.2 输入输出流类库2 文件读写操作2.1 文件的打开方式2.2 文件读写类库的头文件2.3 文本文件读写使用ofstream来写文本使...
    99+
    2022-11-13
    C++ IO设备读写 C++设备读写
  • 使用SpringBoot 如何实现一个MySQL 读写分离功能
    本篇文章给大家分享的是有关使用SpringBoot 如何实现一个MySQL 读写分离功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。主从同步的局限性: 这里分为主数据库和从数...
    99+
    2023-06-06
  • SQL Server搭建主从同步实现读写分离
    一、概念简介 1.1、基本概念 1)读写分离概念:是把对数据库的读操作和写操作分离开。在一定程度上,读写分离可以缓解读写操作并发时产生锁的问题。 2)读写分离原理:是让主数据库处理事务性增、删、改操作(INSERT、DELETE、UPDA...
    99+
    2016-01-18
    SQL Server搭建主从同步实现读写分离
  • C语言实现BMP图像的读写功能
    C语言实现BMP图像的读写 对于刚接触数字图像的同学,应该都有一个疑问,如何把一个BMP格式的图像用纯C语言读入呢,我相信这也是数字图像处理的第一步,如果有幸看到这篇文档,我就有幸的...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作