位置: 编程技术 - 正文

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

  • 税收职能和作用
  • 水利建设专项基金的税率
  • 退销售货款的现金流是哪一个
  • 服务,不动产和无形资产扣除项目本期实际扣除金额
  • 残保金2018
  • 结转应收票据是什么意思
  • 企业增加实收资本
  • 存货换入无形资产考虑增值税
  • 合伙企业缴纳税款时间
  • 如何选一般纳税人还是小规模纳税人合作?
  • 领钱签字表格模板图片
  • 金三系统打印控件下载及报税流程
  • 合同签订的案例
  • 酒店式公寓配套服务包括哪些
  • 可以背书转让的公司
  • 资产减值准备如何转销
  • 公户以借款形式打款给个人,对个人有影响么?
  • 免税店汇率是什么意思
  • 商业承兑汇票需要银行审核吗
  • 电脑插上u盘
  • 新版edge浏览器兼容性视图怎么设置
  • win10同步账户
  • 佣金回扣如何做账
  • 企业收到的政府补贴,怎么入账
  • 小规模纳税人开票限额是多少
  • 上缴财政的收入 企业所得税
  • 预借差旅费报销会计分录
  • php5.4+mysql
  • 关于出售使用过的车辆
  • PHP:pg_query_params()的用法_PostgreSQL函数
  • 公司社保钱可以套出来吗
  • 销售过程的主要内容
  • 微信小程序插件有哪些
  • 企业的组织形式共5种
  • php数组分为哪两种
  • uniapp云打包收费
  • wx-java
  • php中cookie的值存储在哪
  • 固定资产实收资本按照什么入账
  • python中字符串转数字函数
  • php脚本加密
  • 收支平衡表怎么做工厂表格
  • sqlserver调度
  • SQL server 2008中的数据库能否只包含数据文件
  • SQLServer2005与SQLServer2008数据库同步图文教程
  • 非金融企业之间的借款合同要交印花税吗
  • 生产成本科目期末怎么结转
  • 公司法人的车辆给公司用可以报销费用吗
  • 总公司给分公司拨款怎么做账
  • 解除劳动合同的合法程序
  • 减免增值税如何申报
  • 母公司与子公司的区别
  • 发票专用章需要备案吗?
  • 缴纳注册资金印花税怎么做账
  • vmware虚拟机找不到了
  • win7 64位运行软件提示MSCOMCTL.OCX丢失或无效该怎么办?
  • WIN10系统硬盘设置
  • mac怎么f9
  • mac z
  • 如何升级win
  • iis安装失败找不到源文件
  • win8.1怎么关闭更新
  • win10预览版21301bug
  • 升级linux版本
  • cocoscreator lua
  • python3循环语句
  • easyui的表单验证
  • 检查网络资料
  • jq cookie
  • jquery的使用步骤
  • shell中的括号
  • pygame如何加载图片
  • unity3d坐标系
  • javascript概述及作用
  • python中的字符串必须写在一对双引号中
  • JavaScript入门教程
  • Android shape 梯形
  • python爬虫程序下载网页上内容
  • 粮食的增值税税率怎么算
  • 海员证办理流程需要什么手续时间多长
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设