node.js 利用流实现读写同步,边读边写的方法
发布时间 - 2026-01-11 03:11:24 点击率:次如下所示:
//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 利用流实现读写同步,边读边写的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# node.js
# 流实现读写同步
# node.js基于fs模块对系统文件及目录进行读写操作的方法详解
# Node.js 使用流实现读写同步边读边写功能
# 基于node.js的fs核心模块读写文件操作(实例讲解)
# Node.js Sequelize如何实现数据库的读写分离
# Node.js的文件权限及读写flag详解
# Node.js读写文件之批量替换图片的实现方法
# Node.js Streams文件读写操作详解
# 在Node.js应用中读写Redis数据库的简单方法
# 详解Node.js读写中文内容文件操作
# 给大家
# 给我们
# 就行
# 希望能
# 看完
# 想看
# 所示
# 这篇
# 干了
# 小编
# 读到
# 大家多多
# 流到
# 续写
# 应该是
# 完毕后
# 布尔值
# function
# pipe
# require
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何确保FTP站点访问权限与数据传输安全?
Laravel Octane如何提升性能_使用Laravel Octane加速你的应用
用v-html解决Vue.js渲染中html标签不被解析的问题
Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程
如何快速完成中国万网建站详细流程?
郑州企业网站制作公司,郑州招聘网站有哪些?
活动邀请函制作网站有哪些,活动邀请函文案?
Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
教你用AI将一段旋律扩展成一首完整的曲子
Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】
Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南
如何在云指建站中生成FTP站点?
Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理
Laravel的.env文件有什么用_Laravel环境变量配置与管理详解
Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】
Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】
Laravel如何使用查询构建器?(Query Builder高级用法)
Laravel如何创建自定义Artisan命令?(代码示例)
北京网站制作的公司有哪些,北京白云观官方网站?
Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册
Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理
Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】
如何在IIS管理器中快速创建并配置网站?
如何快速查询网址的建站时间与历史轨迹?
Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践
如何在香港服务器上快速搭建免备案网站?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
php485函数参数是什么意思_php485各参数详细说明【介绍】
Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧
简历没回改:利用AI润色让你的文字更专业
googleplay官方入口在哪里_Google Play官方商店快速入口指南
为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】
Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】
,怎么在广州志愿者网站注册?
Laravel用户密码怎么加密_Laravel Hash门面使用教程
Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程
Laravel怎么生成URL_Laravel路由命名与URL生成函数详解
python中快速进行多个字符替换的方法小结
js代码实现下拉菜单【推荐】
html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】
如何挑选高效建站主机与优质域名?
如何基于PHP生成高效IDC网络公司建站源码?
Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】
javascript基于原型链的继承及call和apply函数用法分析
Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】
如何安全更换建站之星模板并保留数据?
如何做网站制作流程,*游戏网站怎么搭建?
Laravel如何使用Collections进行数据处理?(实用方法示例)
微信小程序制作网站有哪些,微信小程序需要做网站吗?

