NodeJs总结之Fs文件系统

432 阅读2分钟

这是我参与8月更文挑战的第14天,活动详情查看:8月更文挑战

Fs是NodeJs的内置核心模块,提供文件系统操作的API

基本操作类

  • fs.stat() 获取目录及文件信息

    注意:不推荐在调用 fs.open()fs.readFile() 或 fs.writeFile() 之前使用 fs.stat() 检查文件是否存在。 而是,用户代码应该直接打开/读取/写入文件,并在文件不可用时处理引发的错误。

  • fs.write() 将缓冲区中的文件写入到磁盘文件中

    注意:在同一个文件上多次使用 fs.write() 而不等待回调是不安全的。 对于这种情况,建议使用 fs.createWriteStream()

  • fs.read() 就是将数据从磁盘文件中写入到buffer中 需要在fs.open()的回调函数中进行读取

常用API

注意点:回调函数中是错误优先

  • 权限操作
    • chmod 更改文件的权限
  • 目录操作
    • accesss:判断文件或目录是否有操作权限

      在调用 fs.open()fs.readFile() 或 fs.writeFile() 之前,不要使用 fs.access() 检查文件的可访问性

    • stat:获取目录及文件信息
    • mkdir:创建目录
    • rmdir:删除目录
    • readdir:读取目录中内容
    • unlink:删除指定文件
  • 文件增删改查
    • 打开/关闭
      • open()打开文件
      • close()关闭文件
    • 读取 readFile:从指定文件中读取数据
    • 写入
      • writeFile:向指定文件中写入数据,如果路径不存在会直接创建,第三个参数可以设置mode,flag,encoding
      • appendFile:追加的方式向指定文件中写入数据
      • copyFile:将某个文件中的数据拷贝至另一个文件
    • 删除 rm 异步地删除文件和目录
    • 工具方法 watchFile:对指定文件进行监控

补充

  • flag标志位
    • r:可读
    • w:可写
    • S:同步
    • +:执行相反操作,r+表示添加r的相反操作可写,所以r+表示可读又可写
    • x:排他操作
    • a:追加操作
    • ax: 类似于 a 但如果路径存在则失败
    • a+: 打开文件进行读取和追加。 如果文件不存在,则创建该文件。