位置: 编程技术 - 正文

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

  • 金税盘开票系统怎么增加税目
  • 城市维护建设税减免税优惠政策
  • 综合收入扣税
  • 财务软件回收
  • 一般纳税人附加税优惠政策2023
  • 酒店维修费计入什么费用
  • 营业外支出增加的原因
  • 建筑工程怎么确定施工工程进度
  • 个人与公司交的税怎么算
  • 增值税需要结转到本年利润吗
  • 房产税房产原值包括地价吗
  • 购进商品交印花税
  • 税后利润再投资
  • 客户退货不退款会计怎么处理
  • 在建工程非应税项目有哪些?
  • 给了钱不给发票可以报警吗
  • 企业拆迁补偿款要交税吗
  • 一般纳税人开普票多少个点
  • 小规模纳税人装修费用计入什么科目
  • 居民委员会有没有纳税人识别号吗
  • 模拟评估了是什么意思
  • 残疾人保障金中上年在职职工人数怎么计算
  • 最新定额是哪年
  • 固定资产清理销项税
  • 事业单位固定资产报废的账务处理
  • 多交的增值税附加税怎么做账
  • 股东房产无偿给公司使用协议
  • win11重置此电脑失败
  • 虚拟机安装苹果系统全过程
  • 银行承兑汇票有纸质的吗
  • 调整以前年度的收入怎么入账
  • 房地产开发商负责什么
  • win10永久激活2021
  • windows11 微软
  • 苹果6s自动清理
  • php中const
  • PHP CURL或file_get_contents获取网页标题的代码及两者效率的稳定性问题
  • xwizard.exe是什么
  • 孕妇不能吃哪些水果?
  • lsass.exe在哪个文件夹
  • 今天中秋节
  • 通往萨卡洛布拉的火车
  • laravel ajax
  • 当月没有生产情况正常吗
  • 租金计入主营业务成本吗
  • 补交地税多少钱
  • element-ui tree 异步树实现勾选自动展开、指定展开、指定勾选
  • 用vue做的企业项目
  • 二手车交易规则最新
  • 跨年租金如何确权
  • 增值税发票抵扣联的作用
  • 交易性金融资产入账价值怎么计算
  • 红冲的发票能不能取消
  • 筹建期有时间限制吗
  • 出口退税账务处理难吗
  • 科目余额表如何看
  • 银行承兑汇票贴现利息怎么算
  • 信用卡刷卡手续费是谁收取的
  • 印花税的征税对象有哪些
  • sql汇总查询
  • windows历代版本一览
  • win10收不到短信验证码
  • macbookzen
  • 任务栏安全中心的图标没有了
  • 注册表干嘛用
  • gpedit.msc无法打开
  • win7系统有自带的杀毒软件吗
  • 电脑ahci模式什么意思
  • linux简明教程
  • python如何搭建环境
  • linux修改磁盘格式指令
  • JavaScript驾驭网页-获取网页元素
  • jquery放在head还是body
  • 自动搜索工具
  • jquery课程内容总结
  • 喜大普奔含义
  • 山东省国家税务局总局官网
  • 北京930末班车时间表
  • 如何查询车辆购置税发票
  • 福建泉州电子税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设