Node fs模塊

Node.js的fs模塊提供了有用的功能來與文件系統進行交互

fs模塊提供了很多非常有用的功能來訪問文件系統並與文件系統進行交互。

無需安裝。作為Node核心的一部分,可以通過要求使用它:

const fs = require('fs')

一旦這樣做,您就可以訪問其所有方法,包括:

  • fs.access():檢查文件是否存在,Node可以使用其權限訪問它
  • fs.appendFile():將數據追加到文件。如果文件不存在,則創建它
  • fs.chmod():更改通過傳遞的文件名指定的文件的權限。有關的:fs.lchmod()fs.fchmod()
  • fs.chown():更改由傳遞的文件名指定的文件的所有者和組。有關的:fs.fchown()fs.lchown()
  • fs.close():關閉文件描述符
  • fs.copyFile():複製文件
  • fs.createReadStream():創建可讀的文件流
  • fs.createWriteStream():創建可寫文件流
  • fs.link():創建指向文件的新硬鏈接
  • fs.mkdir(): 新建一個文件夾
  • fs.mkdtemp():創建一個臨時目錄
  • fs.open():設置文件模式
  • fs.readdir():讀取目錄的內容
  • fs.readFile():讀取文件的內容。有關的:fs.read()
  • fs.readlink():讀取符號鏈接的值
  • fs.realpath():解析相對文件路徑指針(...)到完整路徑
  • fs.rename():重命名文件或文件夾
  • fs.rmdir():刪除文件夾
  • fs.stat():返回由傳遞的文件名標識的文件的狀態。有關的:fs.fstat()fs.lstat()
  • fs.symlink():創建指向文件的新符號鏈接
  • fs.truncate():將傳遞的文件名標識的文件截斷為指定的長度。有關的:fs.ftruncate()
  • fs.unlink():刪除文件或符號鏈接
  • fs.unwatchFile():停止監視文件上的更改
  • fs.utimes():更改通過傳遞的文件名標識的文件的時間戳。有關的:fs.futimes()
  • fs.watchFile():開始監視文件上的更改。有關的:fs.watch()
  • fs.writeFile():將數據寫入文件。有關的:fs.write()

關於fs模塊是所有方法默認情況下都是異步的,但是它們也可以通過追加來同步工作Sync

例如:

  • fs.rename()
  • fs.renameSync()
  • fs.write()
  • fs.writeSync()

這在您的應用程序流程中產生了巨大的差異。

節點10包括實驗支持為一個承諾基於API

例如,讓我們檢查一下fs.rename()方法。異步API與回調一起使用:

const fs = require('fs')

fs.rename(‘before.json’, ‘after.json’, (err) => { if (err) { return console.error(err) }

//done })

可以這樣使用同步API,並使用try / catch塊來處理錯誤:

const fs = require('fs')

try { fs.renameSync(‘before.json’, ‘after.json’) //done } catch (err) { console.error(err) }

此處的主要區別在於,在第二個示例中,腳本的執行將阻塞,直到文件操作成功。

免費下載我的Node.js手冊


更多節點教程: