如何使用 Node 與文件描述符進行交互?

在與文件系統中的文件進行交互之前,您必須獲取文件描述符。

文件描述符是使用 fs 模塊提供的 open() 方法開啟文件時返回的東西,如下所示:

const fs = require('fs')

fs.open('/Users/flavio/test.txt', 'r', (err, fd) => {
 //fd 是我們的文件描述符
})

注意我們在 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() 和與文件系統進行互動的其他操作。