3、谈谈对Node中的fs模块的理解

本文详细介绍了Node.js中的fs模块,包括文件系统的基础知识如权限位、标识位和文件描述符,以及fs模块提供的异步和同步文件读取、写入、追加、拷贝和创建目录等操作。通过实例解析了常用方法的使用,帮助开发者更好地理解和应用fs模块。
摘要由CSDN通过智能技术生成

img

一、是什么

fs(filesystem),该模块提供本地文件的读写能力,基本上是POSIX 文件操作命令的简单包装

可以说,所有与文件的操作都是通过fs核心模块实现

导入模块如下:

const fs = require('fs')

这个模块对所有文件系统操作提供异步(不具有sync后缀)和同步(具有sync后缀)两种操作方式而供开发者选择

二、文件知识

在计算机中有关于文件的知识:

  • 权限位mode
  • 标识位flag
  • 文件描述为fd

权限位mode

img

针对文件所有者、文件所属组、其他用户进行权限分配,其中类型又分为读、写和执行,具备权限位4、2、1,不具备权限为0

如在linux查看文件权限位:

drwxr-xr-x 1 PandaShen 1971210 Jun 28 14:41 core
-rw-r--r--1 PandaShen 197121293 Jun 23 17:44 index.md

在开头前十位中,d为文件夹。-为文件,后九位就代表当前用户、用户所属组和其他用户的权限位,按每三位划分,分别代表读(r)、写(w)和执行(x),-代表没有当前位对应的权限

标识位

标识位代表着对文件的操作方式,如可读、可写、既可读又可写,如下表所示:

符号 含义
r 读取文件,如果文件不存在则抛出异常。
r+ 读取并写入文件,如果文件不存在则抛出异常。
rs 读取并写入文件,指示操作系统绕开本地文件系统缓存。
w 写入文件,文件不存在会被创建,存在则清空后写入。
wx 写入文件,排它方式打开。
w+ 读取并写入文件,文件不存在则创建文件,存在则清空后写入。
wx+ 和 w+ 类似,排他方式打开。
a 追加写入,文件不存在则创建文件。
ax 与 a 类似,排他方式打开。
a+ 读取并追加写入,不存在则创建。
ax+ 与 a+ 类似,排他方式打开

文件描述为fd

操作系统会为每个打开的文件分配一个名为文件描述符的数值标识,文件操作使用这些文件描述符来识别与追踪每个特定的文件

window系统使用了一个不同但概念类似的机制来追踪资源,为方便用户,NodeJs抽象了不同操作系统间的差异,为所有打开的文件分配了数值的文件描述符

NodeJs中,每操作一个文件,文件描述符是递增的,文件描述符一般从3开始,因为前面有012三个比较特殊的描述符,分别代表process.stdin(标准输入)、process.stdout(标准输出)、process.stderr(错误输出)

三、方法

下面针对fs模块常用的方法进行展开:

  • 文件读取
  • 文件写入
  • 文件追加写入
  • 文件拷贝
  • 创建目录

文件读取

fs.readFileSync

同步读取,参数如下:

  • 第一个参数为读取文件的路径或文件描述符
  • 第二个参数为option,默认值为null,其中有encoding࿰
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值