中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Node.js中的文件夾寫入怎么實現

發布時間:2020-12-08 09:46:52 來源:億速云 閱讀:212 作者:小新 欄目:web開發

這篇文章主要介紹了Node.js中的文件夾寫入怎么實現,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

fs.Dir & fs.Dirent

fs.Dir 是可迭代的目錄流的類,fs.Dirent 是遍歷 fs.Dir 獲得的目錄項,可以是文件或目錄中的子目錄

fs.Dir

  • dir.path:目錄的只讀路徑
  • dir.read():不傳入 callabck 函數則返回 Promise,讀取迭代器下一個目錄項,返回一個 Promise,resolve 后得到 fs.Dirent 或 null(如果沒有更多的目錄項要讀取)
  • dir.close():不傳入 callabck 函數則返回 Promise,關閉目錄的底層資源句柄

fs.Dirent

  • dirent.name
  • dirent.isDirectory()
  • dirent.isFile()
  • dirent.isSymbolicLink()

fs.opendir

fs.opendir(path[, options], callback) 打開一個目錄,返回 fs.Dir 對象

const fs = require('fs/promises');

async function print(path) {
  const dir = await fs.opendir(path);
  for await (const dirent of dir) {
    console.log(dirent.name);
  }
}
print('./').catch(console.error);

可以通過 dir.read() 迭代 dir

const fs = require('fs/promises');

async function print(path) {
  const dir = await fs.opendir(path);
  let dirent = await dir.read();
  while (dirent) {
    console.log(dirent.name);
    dirent = await dir.read();
  }

  dir.close();
}
print('./').catch(console.error);

fs.readdir

fs.readdir(path[, options], callback) 讀取目錄的內容,回調有兩個參數 (err, files),其中 files 是目錄中的文件名的數組(不包括 '.' 和 '..')
options

  • encoding:默認值 utf8,如果 encoding 設置為 'buffer',則返回的文件名是 Buffer 對象
  • withFileTypes:默認值 false,設置為 true 后回調函數 files 數組將包含 fs.Dirent 對象
const fs = require('fs/promises');

async function print(path) {
  const files = await fs.readdir(path);
  for (const file of files) {
    console.log(file);
  }
}
print('./').catch(console.error);

fs.mkdir

fs.mkdir(path[, options], callback) 創建目錄
options

  • recursive:默認值 false,設置為 true 時候相當命令 mkdir -p 會把不存在的目錄創建
  • mode:默認值 0o777,Windows 不支持
// 創建 /tmp/a/apple 目錄,無論是否存在 /tmp 和 /tmp/a 目錄。
fs.mkdir('/tmp/a/apple', { recursive: true }, err => {
  if (err) throw err;
});

fs.rmdir

fs.rmdir(path[, options], callback) fs.rmdir 用于刪除文件夾
options

  • recursive:默認值 false,如果為 true,則執行遞歸的目錄刪除。在遞歸模式中,如果 path 不存在則不報告錯誤,并且在失敗時重試操作
  • retryDelay:默認值 100,出現異常后重試之間等待毫秒數。如果 recursive 選項不為 true,則忽略此選項
  • maxRetries:默認值為 0,表示出現異常后重試的次數,如果遇到 EBUSY、 EMFILE、 ENFILE、 ENOTEMPTY 或 EPERM 錯誤,則 Node.js 將會在每次嘗試時以 retryDelay 毫秒的線性回退來重試該操作。 如果 recursive 為 false,則忽略此選項
const fs = require('fs');

fs.rmdir('./tmp', { recursive: true }, err => console.log);

之前 rmdir 只能刪除空的文件夾,現在可以連同文件一起刪除了

感謝你能夠認真閱讀完這篇文章,希望小編分享Node.js中的文件夾寫入怎么實現內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

竹北市| 清远市| 梧州市| 山阳县| 临猗县| 囊谦县| 石渠县| 建始县| 承德市| 白朗县| 邵阳市| 兴安盟| 铜川市| 抚远县| 呼玛县| 丽江市| 惠州市| 彭山县| 仙居县| 沁水县| 道孚县| 宾川县| 五台县| 怀来县| 渝北区| 宜兰市| 绍兴市| 黄龙县| 郁南县| 贵阳市| 丰都县| 临颍县| 贵港市| 丰县| 中阳县| 手游| 伊宁市| 万州区| 法库县| 汕尾市| 蒙阴县|