在Node中使用文件描述符的方法

358 阅读1分钟

如何使用Node与文件描述符互动

在你能够与位于文件系统中的文件进行交互之前,你必须获得一个文件描述符。

文件描述符是使用fs 模块提供的open() 方法打开文件所返回的东西。

const fs = require('fs')

fs.open('/Users/flavio/test.txt', 'r', (err, fd) => {
  //fd is our file descriptor
})

注意我们在调用fs.open() 时使用的第二个参数r

这个标志意味着我们打开文件进行阅读。

你经常使用的其他标志是

  • r+ 打开文件供阅读和写作
  • w+ 打开文件进行读写,将流定位在文件的开头。如果文件不存在,就会创建
  • a 打开文件进行写入,将数据流置于文件的末端。如果不存在,文件将被创建
  • a+ 打开文件进行读写,将数据流定位在文件的末端。如果不存在,文件将被创建

你也可以通过使用fs.openSync 方法来打开文件,它不是在回调中提供文件描述符对象,而是返回它。

const fs = require('fs')

try {
  const fd = fs.openSync('/Users/flavio/test.txt', 'r')
} catch (err) {
  console.error(err)
}

一旦你得到了文件描述符,无论你选择什么方式,你都可以执行所有需要它的操作,比如调用fs.open() 和许多其他与文件系统交互的操作。