在 Node.js 中使用文件描述符
在与位于文件系统中的文件进行交互之前,需要先获取文件的描述符。
文件描述符是使用 fs
模块提供的 open()
方法打开文件后返回的:
const fs = require('fs')
fs.open('/Users/joe/test.txt', 'r', (err, fd) => {
//fd 是文件描述符。
})
注意,将 r
作为 fs.open()
调用的第二个参数。
该标志意味着打开文件用于读取。
其他常用的标志有:
r+
打开文件用于读写。w+
打开文件用于读写,将流定位到文件的开头。如果文件不存在则创建文件。a
打开文件用于写入,将流定位到文件的末尾。如果文件不存在则创建文件。a+
打开文件用于读写,将流定位到文件的末尾。如果文件不存在则创建文件。
也可以使用 fs.openSync
方法打开文件,该方法会返回文件描述符(而不是在回调中提供):
const fs = require('fs')
try {
const fd = fs.openSync('/Users/joe/test.txt', 'r')
} catch (err) {
console.error(err)
}
一旦获得文件描述符,就可以以任何方式执行所有需要它的操作,例如调用 fs.open()
以及许多与文件系统交互的其他操作。