您当前的位置: 首页 > 

插件开发

暂无认证

  • 1浏览

    0关注

    492博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

nodejs-fs模块-文件读写删-文件夹创建删除遍历

插件开发 发布时间:2022-05-28 07:53:44 ,浏览量:1

文章目录
    • 1.fs 概述
      • 1.1权限位 mode
      • 1.2标识位 flag
      • 1.3文件描述符 fd

1.fs 概述

在 NodeJS 中,所有与文件操作都是通过 fs 核心模块来实现的,包括文件目录的创建、删除、查询以及文件的读取和写入,在 fs 模块中,所有的方法都分为同步和异步两种实现,具有 sync 后缀的方法为同步方法,不具有 sync 后缀的方法为异步方法,在了解文件操作的方法之前有一些关于系统和文件的前置知识,如文件的权限位 mode、标识位 flag、文件描述符 fd 等,所以在了解 fs 方法的之前会先将这几个概念明确。

1.1权限位 mode

因为 fs 模块需要对文件进行操作,会涉及到操作权限的问题,所以需要先清楚文件权限是什么,都有哪些权限。 文件权限表:

权限分配文件所有者文件所属组其他用户权限项读写执行读写执行读写执行字符表示rwxrwxrwx数字表示421421421
在上面表格中,我们可以看出系统中针对三种类型进行权限分配,即文件所有者(自己)、文件所属组(家人)和其他用户(陌生人),文件操作权限又分为三种,读、写和执行,数字表示为八进制数,具备权限的八进制数分别为 4 、2、1,不具备权限为 0。 1.2标识位 flag

NodeJS 中,标识位代表着对文件的操作方式,如可读、可写、即可读又可写等等,在下面用一张表来表示文件操作的标识位和其对应的含义。

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

上面表格就是这些标识位的具体字符和含义,但是 flag 是不经常使用的,不容易被记住,所以在下面总结了一个加速记忆的方法。 r:读取–w:写入–s:同步–+:增加相反操作–x:排他方式 r+ 和 w+ 的区别,当文件不存在时,r+ 不会创建文件,而会抛出异常,但 w+ 会创建文件;如果文件存在,r+ 不会自动清空文件,但 w+ 会自动把已有文件的内容清空。

1.3文件描述符 fd

操作系统会为每个打开的文件分配一个名为文件描述符的数值标识,文件操作使用这些文件描述符来识别与追踪每个特定的文件,Window 系统使用了一个不同但概念类似的机制来追踪资源,为方便用户,NodeJS 抽象了不同操作系统间的差异,为所有打开的文件分配了数值的文件描述符。在 NodeJS 中,每操作一个文件,文件描述符是递增的,文件描述符一般从 3 开始,因为前面有 0、1、2 三个比较特殊的描述符,分别代表 process.stdin(标准输入)、process.stdout(标准输出)和 process.stderr(错误输出)。

本文内容转载至https://www.cnblogs.com/sttchengfei/p/13564618.html。

关注
打赏
1665481431
查看更多评论
立即登录/注册

微信扫码登录

0.0375s