1️⃣ fs 文件系统

fs 文件系统:http://nodejs.cn/api/fs.html

2️⃣ 文件系统标志

以下标志在 flag 选项接受字符串的任何地方可用。

a 打开文件进行追加。 如果文件不存在,则创建该文件。
ax 类似于 ‘a’ 但如果路径存在则失败。
a+ 打开文件进行读取和追加。 如果文件不存在,则创建该文件。
ax+ 类似于 ‘a+’ 但如果路径存在则失败。
as 以同步模式打开文件进行追加。 如果文件不存在,则创建该文件。
as+ 以同步模式打开文件进行读取和追加。 如果文件不存在,则创建该文件。
r 打开文件进行读取。 如果文件不存在,则会发生异常。
r+ 打开文件进行读写。 如果文件不存在,则会发生异常。
rs+ 以同步模式打开文件进行读写。 指示操作系统绕过本地文件系统缓存。
w 打开文件进行写入。 创建(如果它不存在)或截断(如果它存在)该文件。
wx 类似于 ‘w’ 但如果路径存在则失败。
w+ 打开文件进行读写。 创建(如果它不存在)或截断(如果它存在)该文件。
wx+ 类似于 ‘w+’ 但如果路径存在则失败。

1️⃣ fs.readFile - 读取一个文件

  1. 1. <Promise> 成功读取时将使用文件内容履行。 如果未指定编码(使用 options.encoding),则数据作为 <Buffer> 对象返回。 否则,数据将为字符串。
  2. 2. 异步地读取文件的全部内容。

image.png

1️⃣ fs.writeFile - 向文件写入内容

异步地将数据写入文件,如果文件已经存在,则替换该文件。 data 可以是字符串、缓冲区、 对象、或者具有自有的 toString 函数属性的对象。 成功时不带参数解决 promise。
如果 options 是字符串,则它指定 encoding。
必须支持写入。
在同一文件上多次使用 filehandle.writeFile() 而不等待 promise 被解决(或拒绝)是不安全的。
如果在文件句柄上进行了一次或多次 filehandle.write() 调用,然后进行 filehandle.writeFile() 调用,则数据将从当前位置写入,直到文件末尾。 它并不总是从文件的开头写入。

2️⃣ 写入前

image.png

2️⃣ 写入后

image.png

2️⃣ 创建文件并写入内容

当向文件写入内容时,如果文件不存在会自动创建文件。
image.png

1️⃣ fs.unlink - 删除一个文件

image.png

1️⃣ fs.stat - 获取文件或目录信息

image.png

1️⃣ fs.readdir - 获取目录中的文件和子目录

读取目录的内容。 回调有两个参数 (err, files),其中 files 是目录中文件名的数组,不包括 ‘.’ 和 ‘..’。
image.png

1️⃣ fs.mkdir - 创建目录

异步地创建目录。
image.png

1️⃣ fs.exists - 判断文件或目录是否存在

通过检查文件系统来测试给定的路径是否存在。 然后使用 true 或 false 调用 callback 参数:
image.png