位置: 编程技术 - 正文

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

  • 所得税汇算资产总额怎么算
  • 申请退税到账后怎么处理
  • 建筑公司办公室照片真实
  • 增值税发票已抵扣能否认定合同关系
  • 增值税纳税申报表模板
  • 非财政补助结余分配借贷方向
  • 发票校验码看不清怎样查真伪
  • 旅行社支付导游费怎么算
  • 分支机构如何领购发票
  • 个人独资公司可以控股其他公司吗
  • 结转销项税额至未交增值税的结转系数
  • 固定资产领用原材料要考虑增值税吗?
  • 社保补助扶持给个人的钱是否需要缴纳个人所得税呢?
  • 进项税已认证未入账如何处理
  • 营业收入不开发票
  • 租房提取的话可以全部提取吗
  • 公司店铺刷单的收入怎么记账
  • 房地产企业综合税率是多少
  • 出口退税最新规定2021
  • 事业单位收到开办费的会计分录
  • osx无法安装怎么办
  • php多维数组转一维数组
  • php 输出
  • 本月印花税下月缴纳需要计提吗
  • 我国现行的关税税率种类及适用
  • mce文件是什么软件
  • 增值税专用发票几个点
  • 什么是包装物押运
  • 应收款减少怎么做账
  • 公司的利润交税之前不可能叫做什么
  • php 调试工具
  • 无形资产入账价值包括资本化支出吗
  • 银行贷款每个月都要还吗?
  • 如何知道是干皮还是油皮
  • querywrapper多表联查
  • MAE详解
  • 新项目分哪几个阶段
  • 库存商品盘点表
  • 如何减税降税
  • phpcms生成html
  • 超出python用什么
  • 什么是三证合一纳税人
  • 分批发货分批付款
  • 砂石可以开专票吗
  • 盈余公积的会计科目
  • 资产的计税基础通俗理解
  • 分配利润时会计分录
  • 融资租赁后期收入怎么算
  • 延缓缴纳的企业所得税怎么做账
  • 出口退税对应的进项不能抵扣对吗
  • 差旅费记入哪个费用
  • 流动负债占比低什么意思
  • 折旧年限的最新规定 汽车
  • xp系统cmd怎么打开
  • sql server如何打开mdf格式文件
  • mysql5.7最新版
  • mysql怎么实现
  • 远程连接sqlserver的数据库和本地连接时不一样
  • centos 7.5 7.6
  • win8.1怎么重新装系统
  • windowsxp教程
  • 苹果电脑mac如何连接打印机
  • linux多线程并发的处理方式
  • win10的svchost干什么的
  • mentohust配置
  • win8如何删除登录密码
  • 苹果电脑支持的u盘格式
  • win8如何关闭开始屏幕
  • 远程控制安全
  • win7系统黑屏但电脑一直在运行
  • win10移动版能运行电脑软件吗
  • win7如何显示文件扩展
  • javascript零基础
  • dos常用命令详细讲解
  • 欢迎使用城市供水信息服务平台
  • 先序遍历dlr
  • python 线程教程
  • getelementbyid isnotafunction
  • 广东国家税务局网上税务服务大厅
  • 世界第二十八高峰
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设