1.读取文件
readFile
readFileSync
同步读取文件, 会阻塞进程,同步读取的是buffer二进制流,获取原文的话可以用toString()
Promise读取
在引入fs对象的时候加入/promise即可。
这样写起来比较合乎习惯吧
readStream—可读流
可读流,在处理大文件的时候会使用到.当你需要处理文件内容,比如读取一个大文件或者进行文件的流式处理时,fs.ReadStream 就是非常有用的。
可以监听三个事件
data事件
data 事件:当 readStream 从文件中读取到一块数据时,会触发 data 事件。开发者可以监听这个事件,并在事件处理函数中访问和处理这些数据块。这对于大文件的处理尤其有用,因为它允许你以流的方式读取文件,而不是一次性将整个文件内容加载到内存中。
end事件
end 事件:当 readStream 读取完文件中的所有数据后,会触发 end 事件。这个事件表明流已经结束,所有的数据都已经被处理完毕。在这个时候,你可以执行一些清理工作,比如关闭文件句柄或者释放资源。
error事件
error 事件:如果在读取文件的过程中发生错误,比如文件不存在或者没有足够的权限访问文件,readStream 会触发 error 事件。开发者可以监听这个事件,并在事件处理函数中处理错误,比如输出错误信息或者尝试重新读取文件。
2.创建/删除/修改文件夹
mkdirSync
创建一个文件夹
递归的创建多个文件夹
加多一个参数recursive:true
rmSync
用法与新创建一致,也有递归删除所有文件夹的选项,否则只删除一个
renameSync
watch
常用于热更新的脚本里使用,监听文件或目录变化的机制。当你需要实时监测文件或目录的变动(如创建、删除、修改等),并希望在变动发生时执行特定的操作时,可以使用 fs.watch 方法。
- filename:要监听的文件或目录的路径。
- options(可选):一个包含监听选项的对象。其中最重要的选项是 persistent(表示是否持续监听)和 recursive(表示是否递归监听目录及其子目录)。
- listener:一个回调函数,当文件或目录发生变化时会被调用。回调函数会接收两个参数:第一个是事件类型(如 ‘change’, ‘rename’),第二个是发生变化的文件或目录的路径。
3.写入文件writeSync
同步写入文件一个字符串
向index.txt写入一个字符串,注意此函数没有返回值。此外这个方法只会替换内容,而不是追加。
想要追加写入的话需要加入一个option配置项,a是append的意思appendFileSync
和writeSync类似,但是是追加一个字符串
writeStream—可写流
需要批量写入大量文本时,可以使用写入流,先创建一个createWriteStream对象,再对其调用write方法