fs(文件系统——目录操作)

这篇博客详细介绍了Node.js中对文件系统的目录操作,包括如何创建目录、读取目录内容、获取目录下的所有文件名以及如何清空并删除目录。通过实例代码展示了每个操作的实现步骤,为Node.js开发者提供了实用的参考资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建目录:

const fs = require('fs');

fs.mkdir('./abc', err=>{
    console.log('在当前目录下创建abc目录');
});

//递归创建目录
fs.mkdir('./abc/a/b/c/d', {recursive:true}, err=>{
    console.log('在当前目录下创建abc目录,abc目录下创建a目录,a目录下创建b目录,……');
});

读取目录:

const fs = require('fs');

fs.readdir('./',(err,files)=>{
    console.log(files);
    //[ 'a.js', 'a.text', 'b.js', 'node_modules', 'package.json' ]
});

获取目录下的所有文件名:

function getAllFiles(dir) {
    let dirPath = path.join(__dirname,dir);
    let arr = [];
    fn(dirPath);

    function fn(dirPath){
        const dirents = fs.readdirSync(dirPath,{ withFileTypes:true });
        dirents.forEach((dirent,i)=>{
            let child = path.join(dirPath,dirent.name);
            if(dirent.isDirectory()){
                fn(child);
            }else{
                arr.push(child);
            }
        });
    }
    return arr;
}

let arr = getAllFiles('目录名');
console.log(arr);  
/*
[
  'D:\\demo\\node-babel\\src\\foo\\a.html',
  'D:\\demo\\node-babel\\src\\foo\\aa\\aa.txt',
  'D:\\demo\\node-babel\\src\\index\\a.html',
]
*/

清空并删除目录:

const fs = require('fs');

function rmDir(dir){

    function EmptyDir(dir){
        let arr = fs.readdirSync(dir, {withFileTypes:true});
        if(!arr[0]){
            return;
        };
        arr.forEach((dirent,index)=>{
            if(dirent.isFile()){
                fs.unlinkSync(dir+'/'+dirent.name);
            }else{
                EmptyDir(dir+'/'+dirent.name);
                fs.rmdirSync(dir+'/'+dirent.name);
            }
        });
    }

    EmptyDir(dir); //清空目录的子孙目录和所有文件
    fs.rmdirSync(dir);  //删除本目录
}

rmDir('./abc');

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值