nodejs.cn-Node.js-入門教程:在 Node.js 中使用資料夾
阿新 • • 發佈:2020-08-19
ylbtech-nodejs.cn-Node.js-入門教程:在 Node.js 中使用資料夾 |
1.返回頂部 |
在 Node.js 中使用資料夾
目錄
Node.js 的fs
核心模組提供了許多便捷的方法用於處理資料夾。
檢查資料夾是否存在
使用fs.access()
檢查資料夾是否存在以及 Node.js 是否具有訪問許可權。
建立新的資料夾
使用fs.mkdir()
或fs.mkdirSync()
可以建立新的資料夾。
const fs = require('fs')
const folderName = '/Users/joe/test'
try {
if (!fs.existsSync(folderName)) {
fs.mkdirSync(folderName)
}
} catch (err) {
console.error(err)
}
讀取目錄的內容
使用fs.readdir()
或fs.readdirSync()
可以讀取目錄的內容。
這段程式碼會讀取資料夾的內容(全部的檔案和子資料夾),並返回它們的相對路徑:
const fs = require('fs')
const path = require('path')
const folderPath = '/Users/joe'
fs.readdirSync(folderPath)
可以獲取完整的路徑:
fs.readdirSync(folderPath).map(fileName => {
return path.join(folderPath, fileName)
})
也可以過濾結果以僅返回檔案(排除資料夾):
const isFile = fileName => {
return fs.lstatSync(fileName).isFile()
}
fs.readdirSync(folderPath).map(fileName => {
return path.join(folderPath, fileName)
})
.filter(isFile)
重新命名資料夾
使用fs.rename()
或fs.renameSync()
可以重新命名資料夾。 第一個引數是當前的路徑,第二個引數是新的路徑:
const fs = require('fs')
fs.rename('/Users/joe', '/Users/roger', err => {
if (err) {
console.error(err)
return
}
//完成
})
fs.renameSync()
是同步的版本:
const fs = require('fs')
try {
fs.renameSync('/Users/joe', '/Users/roger')
} catch (err) {
console.error(err)
}
刪除資料夾
使用fs.rmdir()
或fs.rmdirSync()
可以刪除資料夾。
刪除包含內容的資料夾可能會更復雜。
在這種情況下,最好安裝fs-extra
模組,該模組非常受歡迎且維護良好。 它是fs
模組的直接替代品,在其之上提供了更多的功能。
在此示例中,需要的是remove()
方法。
使用以下命令安裝:
npm install fs-extra
並像這樣使用它:
const fs = require('fs-extra')
const folder = '/Users/joe'
fs.remove(folder, err => {
console.error(err)
})
也可以與 promise 一起使用:
fs.remove(folder)
.then(() => {
//完成
})
.catch(err => {
console.error(err)
})
或使用 async/await:
async function removeFolder(folder) {
try {
await fs.remove(folder)
//完成
} catch (err) {
console.error(err)
}
}
const folder = '/Users/joe'
removeFolder(folder)
2、
2.返回頂部 |
3.返回頂部 |
4.返回頂部 |
5.返回頂部 |
6.返回頂部 |
作者:ylbtech 出處:http://ylbtech.cnblogs.com/ 本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利。 |