在 Node.js 中使用文件描述符
如何使用 Node.js 与文件描述符交互
在你能够与文件系统中的文件进行交互之前,你必须获得一个文件描述符。
文件描述符是对打开文件的引用,是使用 fs
模块提供的 open()
方法打开文件时返回的数字 (fd)。 此编号 (fd
) 唯一标识操作系统中打开的文件:
请注意我们用作 fs.open()
调用的第二个参数的 r
。
该标志意味着我们打开文件进行阅读。
你将常用的其他标志是:
标志 | 描述 | 如果文件不存在则创建文件 |
---|---|---|
r+ | 此标志打开文件读取 和写入 | ❌ |
w+ | 此标志打开文件读取 和写入 它还将流定位在开始 文件的 | ✅ |
a | 此标志打开文件写入 它还将流定位在结尾 文件的 | ✅ |
a+ | 此标志打开文件读取 和写入 它还将流定位在结尾 文件的 | ✅ |
你还可以使用 fs.openSync
方法打开文件,该方法返回文件描述符,而不是在回调中提供它:
一旦你获得文件描述符,无论你选择什么方式,你都可以执行所有需要它的操作,比如调用 fs.close()
和许多其他与文件系统交互的操作。
你还可以使用 fs/promises
模块提供的基于 promise 的 fsPromises.open
方法打开文件。
fs/promises
模块仅从 Node.js v14 开始可用。 v14 之前,v10 之后,可以改用 require('fs').promises
。 v10 之前,v8 之后,可以使用 util.promisify
将 fs
方法转换为 promise-based 方法。
以下是 util.promisify
的示例:
要查看有关 fs/promises
模块的更多详细信息,请查看 fs/promises API。