一、基本概念
Node.js的fs模塊提供的mkdir方法可以用於創建一個新的目錄,其默認許可權位為0o777(即所有用戶都具備讀、寫、執行的許可權)。語法如下:
fs.mkdir(path[, options], callback)
其中,path為要創建的目錄的完整路徑,options包含類型、遞歸等信息,callback為一個回調函數。如果出現錯誤會將錯誤信息傳入回調方法中,否則傳入null。
二、文件許可權
fs.mkdir中的permissions參數可以用來指定文件的許可權。Linux上的文件許可權包括讀、寫、執行(rwx)許可權,三種文件類型(文件、目錄、鏈接)以及三種賬戶類型(文件所有者、群組、其它人)。
使用fs.mkdir創建目錄時,許可權位默認是0o777(即文件所有者、群組、其它人都具備讀、寫、執行的許可權)。如果想分別指定不同的許可權位,則可以使用chmod方法來改變這些許可權位。
fs.mkdir('./myFolder', {recursive: true, mode:0o666}, (err) => {
if (err) throw err;
console.log('myFolder has been created successfully.');
});
三、遞歸創建目錄
在使用fs.mkdir創建多級目錄時,可以在options中使用{recursive:true}參數來遞歸地創建多級目錄。
const fs = require('fs');
fs.mkdir('./dir1/subdir2/subdir3', { recursive: true }, (err) => {
if (err) throw err;
console.log('subdir3 is created successfully.');
});
四、回調函數
回調函數是非同步操作完成之後進行響應的方式,它接收兩個參數。第一個參數是可能產生的錯誤,第二個參數是非同步操作的結果。回調函數使用es6箭頭函數的形式來寫,如下所示:
fs.mkdir('./myFolder', (err) => {
if (err) throw err;
console.log('myFolder has been created successfully.');
});
五、異常處理
在處理fs.mkdir時可能會出現的一些異常情況包括:
- 文件已經存在
- 沒有許可權訪問所在的目錄
- 文件名包含非法字元
- 磁碟空間不足等
對於這些異常情況,我們應該做好相應的異常處理。常用的方式是使用try-catch語句和回調函數來進行異常捕捉和處理:
try {
fs.mkdirSync('./myFolder');
console.log('myFolder has been created successfully.');
} catch (err) {
console.error(err);
}
fs.mkdir('./myFolder', (err) => {
if (err) {
console.error(err);
return;
}
console.log('myFolder has been created successfully.');
});
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/153638.html