位置: 编程技术 - 正文

详解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使用方法)

  • 个人租房缴纳由谁缴纳增值税
  • 简易计税方法和免税该怎么选择
  • 金税四期对个人所得税的影响
  • 个税两种申报方式哪种好
  • 政府返还的个税怎么算
  • 房地产小规模纳税人预缴税款如何填申报表
  • 红字专用发票能作废吗
  • 销售人员的工资属于什么会计科目
  • 含税金额怎么算税额公式
  • 会计核算原则主要包括
  • 不可修复废品损失会计分录
  • 一个公司控股另一个公司
  • 现金长短款的一般处理
  • 企业员工无偿使用合法吗
  • 租赁房租备案要多久
  • 开专用发票的地址有错会有影响吗?
  • 医疗器械 税点
  • 个人所得税违约怎么查询
  • 单位缴交的社保和医保还要交其他费用吗
  • 购买材料,材料未验收入库,货款未付会计分录
  • 政府补贴冲减资产原值
  • 企业购买股票投资
  • 预收销货款属于负债吗
  • 支付销售佣金如何做账
  • 车间工人工资计入
  • win11操作中心怎么关闭
  • linux dns配置服务器
  • 会计主要做些啥
  • 财务期初期末
  • 银行贷款利率和利息的区别
  • 工资达到起征点 报税时没有税款
  • php内存占用
  • 原材料和固定资产入账价值的计算
  • php常用的设计模式在开发中的实例
  • php目录列表
  • php验证码显示不出来
  • 龙舌兰 (© Moab Republic/Shutterstock)
  • 企业要普通发票有什么用
  • 工业厂房修缮工程需要报建吗
  • 若依框架权限控制
  • 企业研发费用加计扣除是什么意思
  • 政府会计制度收入支出表
  • 成本核算的五个要求
  • 收到招标文件怎么回函
  • 苹果cmsv10官网
  • 未开票收入缴纳增值税做账
  • 企业贷款贴息怎么做账
  • php 上传
  • 赠品怎么做
  • 实收资本可以去银行查吗
  • 债务抵销的顺序
  • 小规模纳税人结转增值税的账务处理
  • 背书的银行承兑汇票怎么做账
  • 现金折扣方式销售货物不得从计税销售额中扣减折扣额
  • 企业固定电话费收费标准
  • 本月留抵增值税
  • 低值易耗品和物料用品的区别
  • 其他债权投资有哪些科目
  • 个人开具发票需要税号吗?
  • 什么是结构性存款基金
  • sql四种功能
  • windows不能打开此文件result:31
  • window10怎么启用net 3.5
  • win7补丁部分更新没有安装
  • win10系统预览版
  • win7网络访问权限
  • android环境搭建实训心得
  • opengl es2.0
  • android 音频焦点丢失 媒体按键
  • javascript函数用法
  • linux磁盘空间满了怎么办,硬盘空间还有很多
  • webuploader.create
  • jquery 延迟对象
  • angularjs2
  • 骨骼动画spine
  • wpf 设置鼠标样式
  • js数组排序方法sort
  • 如何抵扣
  • 交了增值税还用交税吗
  • 财税库银后端商户为什么扣钱
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设