位置: 编程技术 - 正文

详解nodeJS中读写文件方法的区别(nodejs怎么读)

编辑:rootadmin

推荐整理分享详解nodeJS中读写文件方法的区别(nodejs怎么读),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:nodejs 读文件,nodejs 读文件,nodejs直接读取数据库,nodejs读写json文件,nodejs直接读取数据库,nodejs 读写文件,nodejs读写json文件,nodejs读取文件和写文件的方法,内容如对您有帮助,希望把文章链接给更多的朋友!

导言:nodejs中所有与文件相关的操作都在fs模块中,而读写操作又是我们会经常用到的操作,nodejs的fs模块针对读操作为我们提供了readFile,read, createReadStream三个方法,针对写操作为我们提供了writeFile,write, createWriteStream三个方法,下面分析一下它们的区别:

一、readFile和writeFile

1、readFile方法是将要读取的文件内容完整读入缓存区,再从该缓存区中读取文件内容,具体操作如下:

与其对应的同步方法为:

同步方法和异步方法的区别是:在使用同步方法执行的操作结束之前,不能执行后续代码的执行;而异步方法将操作结果作为回调函数的参数进行返回,方法调用之后,就可以立即执行后续的代码,读取完毕后会调用对应的回调函数。

2、writeFile方法是将要写入的文件内容完整的读入缓存区,然后一次性的将缓存区中的内容写入都文件中,其同步和异步具体操作如下:

详解nodeJS中读写文件方法的区别(nodejs怎么读)

以上的读写操作,Node.js将文件内容视为一个整体,为其分配缓存区并且一次性将文件内容读取到缓存区中,在这个期间,Node.js将不能执行任何其他处理。所以当读写大文件的时候,有可能造成缓存区“爆仓”。

二、read和write

1、read或readSync方法读取文件内容是不断地将文件中的一小块内容读入缓存区,最后从该缓存区中读取文件内容,具体操作如下:

2、write或writeSync方法写入内容时,node.js执行以下过程:1将需要写入的数据写入到一个内存缓存区;2待缓存区写满后再将缓存区中的内容写入到文件中;3重复执行步骤1和步骤2,知道数据全部写入文件为止。具体操作如下:

以上读写操作,node.js会将文件分成一块一块逐步操作,在读写文件过程中允许执行其他操作。

但有的时候我们并不关心整个文件的内容,而只关注从文件中读取到的某些数据,以及读取到数据时需要执行的处理,这时我们可以使用文件流来处理。

三、createReadStream和createWriteStream

1、createReadStream方法创建一个将文件内容读取为流数据的ReadStream对象,方法如下所示:

2、createWriteStream方法创建一个将流数据写入文件中的WriteStream对象,方法如下所示:

以上方法可以对读写文件的过程中进行监听,并定义相关的方法pause和resume暂停或恢复文件的读取操作,可以监听写入时缓存区数据是否已满或者是否已全部输出,如下所示:

标签: nodejs怎么读

本文链接地址:https://www.jiuchutong.com/biancheng/376403.html 转载请保留说明!

上一篇:Node.js数据库操作之查询MySQL数据库(二)(nodejs json数据库)

下一篇:Node.js使用NodeMailer发送邮件实例代码(node.js使用方法)

  • 企业购进固定资产
  • 期末账项调整的基础是
  • 劳务外包合同需要交税吗
  • 计提城市维护建设费和教育费附加的会计分录
  • 税务师工作年限是从毕业当天开始计算吗
  • 总公司是一般纳税人吗
  • 员工继续教育培训费计什么科
  • 5个点的税率是多少
  • 非居民企业股权转让协议
  • 接受捐赠的固定资产进项税额可以抵扣吗
  • 原材料的实际成本是什么
  • 固定资产进项税额转出怎么做账务处理
  • 《外出经营活动税收管理证明》收购发票
  • 其他应付款坏账怎么处理
  • 补充养老保险计算器
  • 法人股东转让股权涉税
  • 暂估入库冲回有差额
  • 所得税申报季末资产总额怎么填
  • 税前利润弥补亏损
  • 季度预缴所得税可以弥补以前亏损吗
  • 苹果电脑初始化设置
  • 含税价什么意思?
  • win11默认用户名
  • 完美解决怠速抖动加油就平稳
  • 外汇收入情况说明
  • 增值税价外费用怎么算
  • uniapp生成h5
  • 请问简单的
  • vue页面路由传参
  • php_imagick
  • 红字专用发票开具的规定
  • code editing
  • 金蝶利润表主营业务成本公式
  • 激光雷达lidar特点
  • php基于单例模式开发
  • ps中文字复制粘贴
  • 增值税进项税加计抵减
  • 财务报表年报和汇算清缴的顺序
  • 房租增值税怎么计算
  • 应收股利的明细科目
  • 进出口额等于进口额加出口额吗
  • 股东分红后股票会涨吗
  • 美团算钱
  • mongodb迁移
  • dede后台左侧菜单空白或不显示的解决办法(完美解决)
  • 长期待摊费用的摊销方法
  • 对方发票丢了能红冲重开吗
  • 制造费用属于费用性支出吗
  • 小规模交社保有人数限制吗
  • 事业单位银行开户规定
  • 什么叫房屋租购同权
  • 国债利息收入计入什么会计科目
  • 增值税附加税的计算基数
  • 会计账簿有哪些作用
  • 失控发票要转出成本吗
  • 增值税免税企业可以开具专票吗
  • 跨年收入会计分录
  • 外贸内销业务哪个部门管
  • 免税收入怎么做分录
  • mysql中关于图书馆实训题
  • mysql 5.7.34安装
  • mysql使用正则表达式查询数据并另存为另一列
  • mysql的慢查询日志怎么查看
  • 鼠标点击关闭按钮没反应
  • win10 edge浏览器设置信任站点
  • linux字符串命令
  • Win10 Build 10586.107正式推送 主要修复bug
  • cocoscreator分包
  • A Type-Safe Event System for Unity3D
  • 多个checkbox选中触发事件
  • Extjs中使用extend(js继承) 的代码
  • Android使用活动需要去什么进行注册
  • perl date
  • jquery easyui 教程
  • jquery制作下拉菜单
  • Node.js中Bootstrap-table的两种分页的实现方法
  • 三分钟带你玩转灭火器
  • jquery增加
  • 教育培训行业的发展
  • 遵从和尊重
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设