Nodejs学习笔记——fs文件系统之操作文件与目录

删除文件

fs.unlink(文件名,回调函数);
const fs = require('fs');

//删除文件
fs.unlink('deletedemo.txt',(err)=>{
    
    
    if(err){
    
    
        console.log(err);
    }else{
    
    
        console.log('删除成功');
    }
})

在这里插入图片描述

读取目录文件

fs.readdir(目录,回调函数);
const fs = require('fs');

//读取目录下所有文件
fs.readdir('./',(err,files)=>{
    
    
    if(err){
    
    
        console.log(err);
    }else{
    
    
        console.log(files);
    }
})

下图可知返回的目录是数组
在这里插入图片描述

创建目录

fs.mkdir(文件夹名,回调函数);
const fs = require('fs');

//创建文件夹
fs.mkdir('./js',(err)=>{
    
    
    if(err){
    
    
        console.log(err);
    }else{
    
    
        console.log('创建完成');
    }
})

删除目录

fs.rmdir(文件夹名,回调函数);
const fs = require('fs');

//删除文件夹
fs.rmdir('./js',(err)=>{
    
    
    if(err){
    
    
        console.log(err);
    }else{
    
    
        console.log('删除完成');
    }
})

但是在文件夹内有文件时,则会报错

在这里插入图片描述
所以要删除这样的非空目录需要递归删除

const fs = require('fs');

//删除非空文件夹
function delDir(dirPath){
    
    
    var fileArr = fs.readdirSync(dirPath);
    for(let i in fileArr){
    
    
        var filePath = dirPath+'/'+fileArr[i];

        //读取文件信息
        var stat = fs.statSync(filePath);

        if(stat.isFile()){
    
    
            //是文件就删除
            fs.unlinkSync(filePath);
        }else if(stat.isDirectory()){
    
    
            //是文件夹就递归调用自身
            delDir(filePath);
        }
    }
    
    //删除空目录
    fs.rmdirSync(dirPath);
}

delDir('./js');

猜你喜欢

转载自blog.csdn.net/Nozomi0609/article/details/109482644