- 有目录则读取,没目录则创建
fs.stat("upload", (err, stat) => {
if (err) {
fs.mkdir("upload", err => {
if (err) throw err;
console.log("upload目录创建成功");
});
return false;
}
console.log(stat.isDirectory());
});
- 读取目录下的所有目录
(pre => {
fs.readdir(pre, (err, files) => {
if (err) throw err;
let dirArr = [];
(function getFile(i) {
if (i === files.length) {
console.log(dirArr);
return false;
}
fs.stat(`${pre}/${files[i]}`, (err, stats) => {
if (err) throw err;
if (stats.isDirectory()) {
dirArr.push(files[i]);
}
getFile(i + 1);
});
})(0);
});
})("demo");
匿名自执行函数模拟for循环!!!
let arr = fs.readdirSync("demo");
let dirArr = [];
for (var i = 0; i < arr.length; i++) {
let stats = fs.statSync(`demo/${arr[i]}`);
if (stats.isDirectory()) {
dirArr.push(arr[i]);
}
}
console.log(dirArr);
同样能实现上面的效果,但是不明白其中的实现原理是怎样的
网友评论