1.读取文件

readFile

参数:读取本地文档的路径,编码方式
异步读取文件内容
image.png

readFileSync

同步读取文件, 会阻塞进程,同步读取的是buffer二进制流,获取原文的话可以用toString()
image.png

Promise读取

image.png
image.png
在引入fs对象的时候加入/promise即可。
image.png
这样写起来比较合乎习惯吧

readStream—可读流

可读流,在处理大文件的时候会使用到.当你需要处理文件内容,比如读取一个大文件或者进行文件的流式处理时,fs.ReadStream 就是非常有用的。
image.png
可以监听三个事件

data事件

data 事件:当 readStream 从文件中读取到一块数据时,会触发 data 事件。开发者可以监听这个事件,并在事件处理函数中访问和处理这些数据块。这对于大文件的处理尤其有用,因为它允许你以流的方式读取文件,而不是一次性将整个文件内容加载到内存中。

end事件

end 事件:当 readStream 读取完文件中的所有数据后,会触发 end 事件。这个事件表明流已经结束,所有的数据都已经被处理完毕。在这个时候,你可以执行一些清理工作,比如关闭文件句柄或者释放资源。

error事件

error 事件:如果在读取文件的过程中发生错误,比如文件不存在或者没有足够的权限访问文件,readStream 会触发 error 事件。开发者可以监听这个事件,并在事件处理函数中处理错误,比如输出错误信息或者尝试重新读取文件。

2.创建/删除/修改文件夹

mkdirSync

创建一个文件夹
image.png
递归的创建多个文件夹
加多一个参数recursive:true
image.png

rmSync

用法与新创建一致,也有递归删除所有文件夹的选项,否则只删除一个
image.png

renameSync

image.png

watch

常用于热更新的脚本里使用,监听文件或目录变化的机制。当你需要实时监测文件或目录的变动(如创建、删除、修改等),并希望在变动发生时执行特定的操作时,可以使用 fs.watch 方法。

  1. filename:要监听的文件或目录的路径。
  2. options(可选):一个包含监听选项的对象。其中最重要的选项是 persistent(表示是否持续监听)和 recursive(表示是否递归监听目录及其子目录)。
  3. listener:一个回调函数,当文件或目录发生变化时会被调用。回调函数会接收两个参数:第一个是事件类型(如 ‘change’, ‘rename’),第二个是发生变化的文件或目录的路径。

    image.png


    3.写入文件

    writeSync

    同步写入文件一个字符串
    image.png
    向index.txt写入一个字符串,注意此函数没有返回值。此外这个方法只会替换内容,而不是追加。
    image.png
    想要追加写入的话需要加入一个option配置项,a是append的意思

    appendFileSync

    和writeSync类似,但是是追加一个字符串

writeStream—可写流

需要批量写入大量文本时,可以使用写入流,先创建一个createWriteStream对象,再对其调用write方法

write

image.png

end

关闭可写流通道

on

image.png