【node】3、fs文件读写流

2023-11-06

fs.createReadStream读取指定文件的可读流:

const fs = require('fs');
const rs = fs.createReadStream('./1.mp4');
//resume开启可读流
rs.resume()
//通过rs.readableFlowing 查看可读流的状态  默认为null 表示可读流是静止的
console.log(rs.readableFlowing)	//true
//on end监听文件读取读取完毕触发回调函数
rs.on('end',function () {
   console.log('数据已经读取完成了')
})

fs.createWriteStream指定文件写入的可写流:

const fs = require('fs');  //引入fs模块
const rs = fs.createReadStream('./1.mp4');	//创建读取流
const ws = fs.createWriteStream('./2.mp4');	//创建写入流
console.time(2)	//打印初始流动时间
//no data可直接让可读流流动 并获得读取到的数据
rs.on('data',function(datas){  //data:每次读取到的数据
  console.log(rs.readableFlowing,datas)
  ws.write(datas)  //将读取到的数据写入2.mp4
})
//on end监听文件读取读取完毕触发回调函数
rs.on('end',function () {
   console.time(2)	//打印读取流结束时间
   console.log('1.mp4复制到2.mp4完成了')
})

pipe方法让可读流的数据自动 流动到可写流:
实现文件复制:

const fs = require('fs');  //引入fs模块
const rs = fs.createReadStream('./1.mp4');	//创建读取流
const ws = fs.createWriteStream('./2.mp4');	//创建写入流

rs.pipe(ws) //直接实现文件复制

//on end监听文件读取读取完毕触发回调函数
rs.on('end',function () {
   console.time(2)	//打印读取流结束时间
   console.log('1.mp4复制到2.mp4完成了')
})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【node】3、fs文件读写流 的相关文章

  • 没有导出的成员/节点模块

    我刚刚开始使用 5 分钟快速入门找到的 Angular 2 Typescripthere https angular io docs ts latest quickstart html 我遇到了一个看起来很常见的问题 但可能有点不同 我遇到
  • Node.js Async/Await 模块导出 [重复]

    这个问题在这里已经有答案了 我对模块创建有点陌生 想知道 module exports 并等待异步函数 例如 mongo connect 函数 完成并导出结果 在模块中使用 async await 正确定义了变量 但是当尝试通过要求模块来记
  • 变量前面加双下划线

    我的节点代码中有以下代码片段 var fs require fs fs readdir dirname function err files console log files 为什么变量 dirname 有双下划线 我知道一个下划线是私有
  • Morgan Logger + Express.js:写入文件并在控制台中显示

    我正在尝试将 Morgan 与 Express js 结合使用来编写日志文件 同时也在控制台上显示我的日志 我正在使用这段代码 var logger require morgan var accessLogStream fs createW
  • 为什么我的 Mongoose 3.8.7 架构 getter 和 setter 被忽略?

    在使用 Node js Mongoose 和 MongoDB 时 我发现当我执行 findOne 查询时 我的 Mongoose 模式 getter 和 setter 不会触发 我发现一个旧线程表明 2 x 版本中的 getter 和 se
  • 以异步方式执行 Express res.render

    我有一个 Nodejs 应用程序 其中res renderExpress 方法以阻塞方式花费大约 400 毫秒 我如何处理它以非阻塞方式执行 我的 apache 基准测试需要 12 秒来执行大约 30 个并发请求 我如何以更好的方式实施这一
  • 为 npm install 添加本地项目依赖

    在 npm 中添加本地项目依赖项的正确语法是什么package json file 我本地有 git 项目C projects MyApp 我想得到这个项目npm install 我尝试以下 dependencies my app file
  • 限制 Axios 请求

    我正在使用 axios 向 Deezer API 发出请求 不幸的是 使用 Deezer 的 API 当您请求艺术家的专辑时 它不包括专辑曲目 因此 我正在通过请求艺术家的专辑 然后对每个专辑执行后续的 axios 请求来解决这个问题 我遇
  • Node.js Express 4.0 中的 res.render 回调参数的用途是什么?

    目的是什么res render回调参数 在什么情况下 由于模板已被指定为第一个参数 因此人们会想要使用这样的回调参数 这是文档中的代码 send the rendered view to the client res render inde
  • 使用 Express.js 和 NodeJS,您可以通过响应正文中的重定向发送 JSON

    我正在尝试通过 302 重定向发送 JSON 在 ExpressJS 中这可能吗 API 声明可以添加主体res json 例如 res json 302 name larry 在接收端 重定向的目的地 主体是空的 这是一些示例代码 发送应
  • 如何使用 AMQP 以“PeekLock”模式从 Azure 服务总线队列获取消息?

    我们正在尝试在 Node 应用程序中使用 Azure 服务总线 我们的要求是从队列中获取多条消息 由于Azure SDK for Node不支持批量检索 我们决定使用AMQP 虽然我们能够使用 Peek Messages 获取消息 如此处所
  • 未捕获的 ReferenceError:未定义角度 - Mean.IO

    我已遵循安装步骤 http mean io docsmean io 但是当我浏览 localhost 3000 时 我得到一个空白页面 当我打开控制台时 我得到一个指向相同错误的文件列表 未捕获的引用错误 角度未定义 我的问题是类似的to
  • 将消息从 AWS Lambda 发布到 AWS IoT

    我正在尝试使用 Nodejs 将消息从 AWS Lamba 发布到 AWS IoT 我已压缩该项目并上传到 AWS IoT 下面是代码片段 var awsIot require aws iot device sdk var device a
  • 通过pm2运行node.js,但经常重新启动:通过信号[SIGINT]以代码[0]退出

    我试图在我的系统上运行 node js 但遇到了这个问题 2016 06 01 20 46 28 App app with id 13 and pid 12633 exited with code 0 via signal SIGINT 2
  • 如何防止 gulp-notify 破坏 Windows 中的 gulp-watch?

    我正在使用吞咽通知 https www npmjs org package gulp notify插入 这是我如何在 gulpfile js 中实现它的示例 您可以看到我也在使用 gutil 和 livereload 我不知道它们是否发挥任
  • 一次更新猫鼬中的多个文档

    我有一个用户文档数组 每个用户都有关注者属性 它是一个数字 我只想将此属性增加 1 然后立即更新数据库中的所有这些用户文档 更多细节 在请求中 我有一组用户 id 我使用这些 id 进行查询以获取一组用户文档 const users awa
  • Docker - SequelizeConnectionRefusedError:连接 ECONNREFUSED 127.0.0.1:3306

    我正在尝试使用 Docker 容器启动并运行我的 Nodejs 应用程序 我不知道可能出了什么问题 当我使用控制台调试凭据时 凭据似乎已正确传递 另外启动sequel pro并使用相同的用户名和密码直接连接似乎也可行 当节点在容器中启动时
  • Phantom-node模块无法加载外部资源

    我正在开发一个nodejs服务器 它将发布的html呈现为pdf png或jpg https github com svenhornberg pagetox https github com svenhornberg pagetox ser
  • Node.js - 重载函数

    有没有一种方法可以重载node js中的函数 类似于 noSuchMethod https developer mozilla org en JavaScript Reference Global Objects Object noSuch
  • 如何执行“sudo nvm”?

    在我的 Mac 上 我想将一些需要 su 权限的包迁移到另一个节点版本 我使用 homebrew 安装 nvm 现在我需要执行 sudo nvm 或 reinstall packages将失败 me MacBook sudo nvm sud

随机推荐

  • 使用代码操作Excel文件(POI)

    文章目录 本篇文章将讲述使用POI如何去对Excel文件进行读写 1 Maven导入poi包 2 POI进行基本的写入 3 POI进行大量数据的写入 4 POI读取数据 模拟两个案例 本篇文章将讲述使用POI如何去对Excel文件进行读写
  • FastCGI技术

    FastCGI技术 by ahuner 1 FastCGI介绍 FastCGI 快速通用网关接口 Fast Common Gateway Interface FastCGI 是一种让交互程序与Web服务器通信的协议 FastCGI像是一个常
  • 13-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于WIFI(AT指令TCP普通通信版),支持AT指令MQTT通信,APP控制版)...

    https www cnblogs com yangfengwu p 10886436 html 视频教程 https www bilibili com video av55613892 https www bilibili com vid
  • 网页/博客Hexo添加live2d游戏角色看板娘,简易添加,碧蓝航线等live2d新型游戏角色模型(moc3)

    目前博客上常见live2d看板娘很多都已经是比较老的了 旧版的是moc文件的 并且相应的插件不支持新版模型 moc3文件 如碧蓝航线的live2d模型 本篇介绍在网页里引入moc3文件的方法 示例网站1 示例网站2 示例网站3 把游戏角色添
  • Qt编写自定义控件:自定义表头实现左右两端上部分圆角

    如上图 左上角和右上角凸出来了 设置表格圆角和表头圆角和QHeaderView section圆角都不管用 解决此问题需要重写QHeaderView的paintSection 函数 class CustomHeaderView public
  • 在文件选择打开方式里,无法添加.exe程序怎么解决

    转载自 https blog csdn net xfdywy article details 50967932 和 https blog csdn net sinat 26472165 article details 83505792 在设
  • 阿里云的ECS服务器的使用

    最近购买了阿里云的ECS服务器 对他的基本使用做了记录 服务器配置 CPU 2核 内存 4GB 数据盘 100G 操作系统 Ubuntu 12 04 32位 带宽计费方式 按固定带宽 当前使用带宽 1Mbps 网络类型 经典网络 1 登陆服
  • 漫谈图像超分辨率技术

    点击上方 小白学视觉 选择加 星标 或 置顶 重磅干货 第一时间送达 作为将模糊的图像变清晰的神奇技术 图像超分辨率技术在游戏 电影 相机 医疗影像等多个领域都有广泛的应用 在这篇文章中 微软亚洲研究院的研究员们为你总结了图像超分辨率问题中
  • IDEA+Maven 打jar包

    IDEA Maven 打jar包 包涵依赖jar 最新修改 以前写的打包方式可能看起来有些繁琐 这里给出进一步简洁的解决方案简单粗暴 写在前面 这两天一直在整 gu 理 dao IDEA 用Maven打jar包 网上的教程是各式各样 但是都
  • Chapter 2 Trajectory Indexing and Retrival

    This 26 pages paper is a bit short as a survey but a little too long for me the first day to write a papaer analysis But
  • 什么是Progressive Web App(PWA)?它们有哪些特点?

    聚沙成塔 每天进步一点点 专栏简介 渐进式Web App简介 PWAs的主要特点 总结 写在最后 专栏简介 前端入门之旅 探索Web开发的奇妙世界 欢迎来到前端入门之旅 感兴趣的可以订阅本专栏哦 这个专栏是为那些对Web开发感兴趣 刚刚踏入
  • 毕业设计-基于 BERT 的中文长文本分类系统

    目录 前言 课题背景和意义 实现技术思路 一 文本分类的相关技术 二 文本表示模型 三 文本分类模型 实现效果图样例 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力
  • ResNet的改进系列:ResNext和Res2Net

    ResNext paper https arxiv org abs 1611 05431 code https github com facebookresearch ResNeXt Res2Net paper https arxiv or
  • 关于HTTP的8种请求方法

    关于HTTP请求方法中的8种请求方法 简单介绍 HTTP是超文本传输协议 其定义了客户端与服务器端之间文本传输的规范 HTTP默认使用80端口 这个端口指的是服务端的端口 而客户端使用的端口是动态分配的 当我们没有指定端口访问时 浏览器会默
  • Quartus和ModelSim软件关联

    Quartus和ModelSim软件关联 QuartusII 18 1 和 ModelSim 10 5b 软件的关联 Altera 自身在仿真领域做的并不是很好 所以 Quartus 软件兼容 Mentor 公司的ModelSim 仿真软件
  • hutool实现excel的导出,包括级联下拉

    废话不多说 直接上代码 1 pom xml
  • 什么是 Web 3.0?

    很多人并不理解什么是 Web 3 0 本文尝试以最简洁的语言来解释一下我对于这个问题的理解 01 互联网范式迭代 Web 1 0 也就是第一代互联网 是静态互联网 主要的应用是网络媒体 各网媒雇佣一大批编辑 将图文并茂的内容发布成为网页 读
  • 无法启动程序 xxx.exe,系统找不到指定的文件

    1 问题现象 解绝方法 语法问题 scanf函数调用后边没写分号 导致没能编译生成可执行程序 2 问题现象 解绝方法 printf函数错写成print 导致语法错误 3 问题现象 解决方法 头文件写错了 找不到stdio h 注意 这几种问
  • JavaWeb 项目部署到 Aliyun 服务器

    JavaWeb 项目部署到 Aliyun 服务器 准备工作 环境 Java8 IDEA tomcat8 5 本次 web 项目在本地 tomcat 跑通 打包 项目没问题后进行打包 选择 Artifacts gt 点击 号 gt 右击选择
  • 【node】3、fs文件读写流

    fs createReadStream读取指定文件的可读流 const fs require fs const rs fs createReadStream 1 mp4 resume开启可读流 rs resume 通过rs readable