node.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > node.js > Node操作文件夹

使用Node操作文件夹的常用API

作者:一溪风月

这篇文章我们将学习Node对文件夹的操作,当我们学习完文件夹的操作后结合文件的操作我们就可以真正的通过Node在日常的工作生活中解决许多和文件相关的问题,这篇文章我们将首先讲解文件夹操作的几个API,然后完成一下最常见的文件夹递归的操作,需要的朋友可以参考下

一.写在前面

在Node系列的第一篇文章中我们讲解了Node的基本知识和文件的读写操作,这篇文章我们将学习Node对文件夹的操作,当我们学习完文件夹的操作后结合文件的操作我们就可以真正的通过Node在日常的工作生活中解决许多和文件相关的问题,这篇文章我们将首先讲解文件夹操作的几个API,然后完成一下最常见的文件夹递归的操作。

二.Node文件夹操作常用API

const fs = require("fs");
fs.mkdir("./code",(err,file)=>{
  if(err){
    console.log("文件夹创建失败");
  }else{
    console.log(file);
  }
})
const fs = require("fs");
fs.mkdirSync("./aaa");
const fs = require("fs");
fs.readdir("./code",(err,fileList)=>{
    if(err){
        console.log("文件夹读取失败");
    }else{
        console.log(fileList);
    }
})

const fs = require("fs");
fs.readdir("./code",{withFileTypes:true},(err,fileList)=>{
    if(err){
        console.log("文件夹读取失败");
    }else{
        console.log(fileList);
    }
})

const fs = require("fs");
fs.rename("./aaa","./why",(err,flag)=>{
    if(err){
        console.log("文件重命名失败");
    }else{
        console.log("文件重命名成功");
    }
})

三.递归获取文件夹中的信息

我们在上述进行文件夹的操作都是基于一层文件夹的,但是在实际的工作和生活中,文件夹往往是很多层的,如果我们在不知道文件夹有多少层的情况下如何获取文件夹中的所有信息?答案就是递归,我们假设有一个文件夹,文件夹中嵌套了很多文件夹和文件,现在需要你将这个文件夹中的所有的信息全部读取处理。

const fs = require("fs");

function readDictionary(dir){
    fs.readdir(dir,{withFileTypes:true},(err,fileList)=>{
        fileList.forEach(item=>{
            if(item.isDirectory()){
                readDictionary(`${dir}/${item.name}`)
            }else{
                console.log(item.name);
            }
        })
    })
}
readDictionary('./code')

四.总结

这篇文章主要讲解的是Node中常见的文件夹操作,包括文件夹的新建(同步操作/异步操作),文件夹中信息的读取,文件夹的重命名,这几个API是最文件夹操作中常用的几个API,如果之后在开发中遇到需要使用其他API的时候可以对应的去查询,在文章的最后我们尝试着写了一下文件夹操作中经典操作---递归读取,这个操作在文件夹操作中比较常用,希望各位小伙伴能够花点时间去掌握它。

以上就是使用Node操作文件夹的常用API的详细内容,更多关于Node操作文件夹的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文