NodeJs-fs模块-相关操作文件的常用方法

fs.Dirent 类

当使用 withFileTypes 选项设置为 true 调用 fs.readdir() 或 fs.readdirSync() 时,生成的数组将填充 fs.Dirent 对象,而不是字符串或 Buffer

dirent.isBlockDevice()

  • 返回: <boolean>

如果 fs.Dirent 对象描述块设备,则返回 true

dirent.isCharacterDevice()

  • 返回: <boolean>

如果 fs.Dirent 对象描述字符设备,则返回 true

dirent.isDirectory()

  • 返回: <boolean>

如果 fs.Dirent 对象描述文件系统目录,则返回 true

dirent.isFIFO()

  • 返回: <boolean>

如果 fs.Dirent 对象描述先进先出(FIFO)管道,则返回 true

dirent.isFile()

  • 返回: <boolean>

如果 fs.Dirent 对象描述常规文件,则返回 true

dirent.isSocket()

  • 返回: <boolean>

如果 fs.Dirent 对象描述套接字,则返回 true

  • 返回: <boolean>

如果 fs.Dirent 对象描述符号链接,则返回 true

dirent.name

  • <string> |

fs.Dirent 对象指向的文件名。 此值的类型取决于传递给 fs.readdir() 或 fs.readdirSync() 的 options.encoding

fs.FSWatcher 类

成功调用 fs.watch() 方法将返回一个新的 fs.FSWatcher 对象。 所有 fs.FSWatcher 对象都是 EventEmitter 的实例,每当修改指定监视的文件,就会触发 'change' 事件。

‘change’ 事件

  • eventType <string> 已发生的更改事件的类型。
  • filename <string> |  更改的文件名(如果相关或可用)。

当监视的目录或文件中发生更改时触发。 在 fs.watch() 中查看更多详细信息。 可能不提供 filename 参数,这取决于操作系统的支持。 如果提供了 filename,则当调用 fs.watch() 并将其 encoding 选项设置为 'buffer' 时, filename 将是一个 Buffer,否则 filename 将是 UTF-8 字符串。

1
2
3
4
5
6
7
// 使用 fs.watch()监听器的示例。
fs.watch('./tmp', { encoding: 'buffer' }, (eventType, filename) => {
if (filename) {
console.log(filename);
// 打印: <Buffer ...>
}
});

‘close’ 事件

当监视器停止监视更改时触发。 关闭的 fs.FSWatcher 对象在事件处理函数中不再可用。

‘error’ 事件

  • error 

当监视文件时发生错误时触发。 发生错误的 fs.FSWatcher 对象在事件处理函数中不再可用。

watcher.close()

给定的 fs.FSWatcher 停止监视更改。 一旦停止,则 fs.FSWatcher 对象将不再可用。

  • 版权声明: 本博客所有文章,未经许可,任何单位及个人不得做营利性使用!转载请标明出处!如有侵权请联系作者。
  • Copyrights © 2015-2023 翟天野

请我喝杯咖啡吧~