node之fs库,文件系统

2024-01-02 12:11:17
一、简介

Node.js 的 fs 模块是一个内置模块,用于与文件系统进行交互。它提供了一组功能丰富的方法,用于读取、写入、修改和删除文件和目录。

二、常用方法
  1. fs.open(path,flags,[mode],allback); 返回文件描述符,同步方法openSync,无回调
  • path:文件路径 | |
  • flags:以某种模式打开 |
  • ‘r’ - 以读取模式打开文件。
  • ‘r+’ - 以读写模式打开文件。文件不存在会发生异常
  • ‘rs+’ - 以同步读写模式打开文件。绕过本地缓存
  • ‘w’ - 以写入模式打开文件
  • ‘wx’ - 类似’w’,但如果 path 存在,则失败。
  • ‘w+’ - 以读写模式打开文件。文件会被创建(如果文件不存在)或截断(如果文件存在)。
  • ‘wx+’ - 类似’w+',但如果 path 存在,则失败。
  • ‘a’ - 以追加模式打开文件。如果文件不存在,则会被创建。
  • ‘ax’ - 类似于’a’,但如果 path 存在,则失败。
  • ‘ax+’ - 类似于’a+',但如果 path 存在,则失败。
  • mode 可设置文件模式(权限和 sticky 位),但只有当文件被创建时才有效。默认为 0o666,可读写。
  • callback 两个参数 (err, fd)。fd文件描述符
  1. fs.read(fd,buffer,offset,length,position,callback) 指定的文件中读取数据,同步方法readSync,无回调函数
  • fd 文件描述符 (整数) buffer 是 |
  • offset 是 buffer 中开始写入的偏移量
  • length 是一个整数,指定要读取的字节数。
  • position 指定从文件中开始读取的位置。
  • callback 回调有三个参数 (err,bytesRead, buffer)。
  1. fs.readdir(path,[option],callback) 读取目录内容,同步方法readdirSync,无回调函数
  • path 目录路径 | |
  • options 可选的 options 参数用于传入回调的文件名,它可以是一个字符串并指定一个字符编码,或是一个对象且由一个encoding 属性指定使用的字符编码 |
  • callback 两个参数(err, files)
  1. fs.readFile(path,[option],callback) 读取文件内容,同步方法readFileSync,无回调函数
  • path 文件名或文件描述符 | | | 。
  • option 如果为字符串则是编码,否则{“encoding”:“”,flag:“”} |
  • callback 两个参数(err,data)
  1. fs.readlink(path,[option],callback) 还未知道用处
  2. fs.realpath(path,[option],callback) 返回绝对路径,同步realpathSync,无回调函数
  • path 路径 | |
  • options 如果是字符串则是编码,否则{“encoding”:“”} |
  • callback 两个参数(err,resolvePath)
  1. fs.rename(oldPath,newPath,callback) 重命名 ,同步renameSync,无回调函数,返回undefined
  • oldPath 旧路径 | |
  • newPath 新路径 | |
  • callback 一个参数(err)
  1. fs.stat(path,callback) 获取文件信息,同步statSync,无回调函数
  • path 路径 | |
  • callback 两个参数(err,stat)
  1. fs.rmdir(path,callback) 删除文件,window会报错,同步rmdirSync,无回调函数,返回undefined
  • path 路径 | |
  • callback 两个参数(err)
  1. fs.symlink(targetPath,path,[type],callback); 未知用处
  2. fs.truncate(path,[len],callback) 截断文件内容,同步方法truncateSync,无回调函数,返回undefined
  • path 文件路径| len 截断长度,默认0
  • callback 一个参数(err)
  1. fs.unlink(path,callback)删除文件,同步方法unlinkSync,无回调函数,返回undefined
  • path 文件路径 |
  • callback 一个参数(err)
  1. fs.unwatchFile(filename[listener]) 停止对文件的监控,无同步方法
  • filename 文件名 |
  • listener 监听器 | 如果是object {“eventType”:,“filename”: | }
  1. fs.utimes(path,atime,mtime,callback)修改文件时间戳,同步方法utimes,无回调函数,返回undefined
  • path 文件路径 | |
  • atime 修改时间 | |
  • mtime 访问时间 | |
  • callback 一个参数(err)
  1. fs.watch(filename[, options][, listener]) 监听文件
  • filename 文件名 | |
  • options 字符串时为编码格式,对象的时候{“persistent”:“”,“recursive”:“”,“encoding”:“”} |
  • persistent 指明如果文件正在被监视,进程是否应该继续运行。默认 = true
  • recursive 指明是否全部子目录应该被监视,或只是当前目录。适用于当一个目录被指定时,且只在支持的(详见 Caveats)。默认= false
  • encoding 指定用于传给监听器的文件名的字符编码。默认 = ‘utf8’
  • listener 两个参数(eventType, filename)
  1. fs.watchFile(filename[, options], listener) 监听文件,没有watch高效
  • filename 文件名 | |
  • options 字符串时为编码格式,对象的时候{“persistent”:“”,“interval”:“”} | persistent 指如果文件正在被监视,进程是否应该继续运行。默认 = true
  • interval
  • listener 两个参数(current,previous)
  1. fs.writeFile(file, data[, options], callback) 写入文件。同步方法writeFileSync,无回调函数,返回undefined
  • file 文件名或文件描述符 | |
  • data 写入文件的数据 | |
  • options 字符串时是编码,对象是{“encoding”:“”,“mode”:“”,“flag”:“”}|
  • callback 一个参数(err)

文章来源:https://blog.csdn.net/randy521520/article/details/134752753
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。