位置: 编程技术 - 正文

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

  • 开办费的帐务处理
  • 增值税发票税号0和O
  • 房产税和土地使用税会计分录
  • 转让旧房增值税计税依据
  • 设备的配件怎么做分录
  • 没有对公账户的公司怎么注销
  • 专项资金怎么入账
  • 企事业承包承租经营所得税率是多少
  • 自持是啥意思
  • 纳税人所在地为
  • 相关税费计入哪里
  • 增值税纳税申报表在哪里打印
  • 应收账款减值准备计提比例
  • 销售二手设备税率
  • 审计资产评估收费标准
  • win10怎么清空
  • 香港企业股东分红税
  • 一年内到期的应付债券计入
  • 什么时候可以购买火车票
  • 出国的事情
  • PHP:oci_cancel()的用法_Oracle函数
  • 仙客来养殖方法和注意事项视频
  • 错误申报多交增值税已经扣税
  • PHP:pcntl_wexitstatus()的用法_PCNTL函数
  • 内置天线手机
  • 单位和个人交付的区别
  • 原版锯齿
  • php框架的作用
  • 细说php
  • php事务特性
  • ldpc论文
  • swift 协议扩展
  • 车间打杂工
  • 利润表中本期金额栏各项目应根据损益类账户的什么填列
  • 银行发行债券流程图
  • 汽车4s店厂家返修流程
  • dedecms上传视频
  • 工伤保险如何认定
  • 确认预计负债的三个条件
  • 个体工商户季度超过9万怎么交税
  • 当master down掉后,pt-heartbeat不断重试会导致内存缓慢增长的原因及解决办法
  • 哪些进项税额不能抵扣
  • 一般纳税人增值税结转账务处理
  • 小额贷款在银行需要什么条件
  • 收到运输服务发票怎么做账务处理呢
  • 建筑行业的收入做什么科目
  • 投资利润率多少算合理
  • 出口退税免抵退税额要交城建税吗
  • 收款单属于什么科目
  • 外购商品用于促销能抵扣吗
  • 发票必须与合同明细对应吗
  • 成本类科目会计处理分录
  • 消耗性生物资产与生产性生物资产的区别
  • ゆうちょ银行转账步骤
  • 老办法退休金如何计算
  • 预付工资怎么入账
  • 建账时必须输入的内容有哪些
  • Linux/Mac MySQL忘记密码怎么办
  • macbook分屏功能
  • centos 安装选择
  • 回顾30年的水文模型参数率定研究
  • gnu linux编程指南
  • win10安装更新
  • ias.exe是什么程序
  • service.exe是什么
  • win8cp
  • mac itunes
  • mac os x 10.9.5
  • psrameters
  • cocos2dx schedule
  • Jquery ajax基础教程
  • shell脚本编程工具
  • 单页图片和文字怎么设置
  • python 技巧总结
  • unity3d导出fbx文件
  • js获取鼠标坐标到浏览器底部
  • jquery设置input的value
  • 国家税务局2017年11号
  • 南宁地方税务局网站
  • 建筑业发票范围
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设