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

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

一.写在前面

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

二.Node文件夹操作常用API

  • 使用Node异步创建文件夹:
const fs = require("fs");
fs.mkdir("./code",(err,file)=>{
  if(err){
    console.log("文件夹创建失败");
  }else{
    console.log(file);
  }
})
  • 使用Node同步创建文件夹(推荐使用异步操作)
const fs = require("fs");
fs.mkdirSync("./aaa");
  • 获取文件夹中的内容,读取到的是文件夹中内容名称的字符串。
const fs = require("fs");
fs.readdir("./code",(err,fileList)=>{
    if(err){
        console.log("文件夹读取失败");
    }else{
        console.log(fileList);
    }
})

  • 读取文件夹获取文件夹中的信息:需要添加一个属性withFileTypes:true就可以获取文件夹中的信息。
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操作文件夹的资料请关注脚本之家其它相关文章!

相关文章

  • nodejs使用Sequelize框架操作数据库的实现

    nodejs使用Sequelize框架操作数据库的实现

    这篇文章主要介绍了nodejs使用Sequelize框架操作数据库的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • 详解node+express+ejs+bootstrap构建项目

    详解node+express+ejs+bootstrap构建项目

    本篇文章主要介绍了详解node+express+ejs+bootstrap构建项目,非常具有实用价值,需要的朋友可以参考下
    2017-09-09
  • windows利用nvm管理node.js2025最新版

    windows利用nvm管理node.js2025最新版

    本文主要介绍了在Windows系统上使用nvm管理Node.js版本的过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-03-03
  • Nestjs自定义注解实现接口权限控制详解

    Nestjs自定义注解实现接口权限控制详解

    这篇文章主要为大家介绍了Nestjs自定义注解实现接口权限控制详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • 详解如何使用Node.js实现热重载页面

    详解如何使用Node.js实现热重载页面

    这篇文章主要介绍了详解如何使用Node.js实现热重载页面,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • nodejs使用PassThrough流进行数据传递合并示例详解

    nodejs使用PassThrough流进行数据传递合并示例详解

    这篇文章主要为大家介绍了nodejs使用PassThrough流进行数据传递合并示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • 零基础之Node.js搭建API服务器的详解

    零基础之Node.js搭建API服务器的详解

    今天小编就为大家分享一篇关于零基础之Node.js搭建API服务器的详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • 详解使用PM2管理nodejs进程

    详解使用PM2管理nodejs进程

    本篇文章主要介绍了详解使用PM2管理nodejs进程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • 零基础搭建Node.js、Express、Ejs、Mongodb服务器及应用开发入门

    零基础搭建Node.js、Express、Ejs、Mongodb服务器及应用开发入门

    这篇文章主要介绍了零基础搭建Node.js、Express、Ejs、Mongodb服务器及应用开发入门,本文在windows8系统下完成本教程,其它系统也可参考,需要的朋友可以参考下
    2014-12-12
  • 一文带你搞懂Node中的流

    一文带你搞懂Node中的流

    流,通俗来讲就是数据流动,数据从一个地方缓慢的流到另一个地方。本文将通过示例为大家详细讲讲Node中的流,感兴趣的可以了解一下
    2022-08-08

最新评论