一、基本概念
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/n/153638.html