了解一下Node.js中的資料夾寫入
本篇文章為大家介紹一下Node.js中的資料夾寫入。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有幫助。
相關推薦:《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中的資料夾寫入的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

基於無阻塞、事件驅動建立的Node服務,具有記憶體消耗低的優點,非常適合處理海量的網路請求。在海量請求的前提下,就需要考慮「記憶體控制」的相關問題了。 1. V8的垃圾回收機制與記憶體限制 Js由垃圾回收機

選擇一個Node的Docker映像看起來像是小事,但是映像的大小和潛在漏洞可能會對你的CI/CD流程和安全造成重大的影響。那我們要如何選擇一個最好Node.js Docker映像呢?

Node 19已正式發布,以下這篇文章就來帶大家詳解了解Node.js 19的 6 大特性,希望對大家有幫助!

文件模組是對底層文件操作的封裝,例如文件讀寫/打開關閉/刪除添加等等文件模組最大的特點就是所有的方法都提供的**同步**和**異步**兩個版本,具有sync 字尾的方法都是同步方法,沒有的都是異

事件循環是 Node.js 的基本組成部分,透過確保主執行緒不被阻塞來實現非同步編程,了解事件循環對建立高效應用程式至關重要。以下這篇文章就來帶大家深入了解Node中的事件循環 ,希望對大家有幫助!

如何用pkg打包nodejs可執行檔?以下這篇文章跟大家介紹一下使用pkg將Node專案打包為執行檔的方法,希望對大家有幫助!
