使用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实现短信验证码功能

    Nodejs实现短信验证码功能

    使用Nodejs的开发者愈来越多,基于Nodejs的后台开发也多了起来,像短信验证码、短信群发、国际短信这些需求,完全可以采用第三方接口来实现,云片就提供了这样的接口
    2017-02-02
  • Node.js抓取网站中文乱码解决办法

    Node.js抓取网站中文乱码解决办法

    这篇文章主要介绍了Node.js抓取网站中文乱码解决办法,需要的朋友可以参考下
    2023-02-02
  • 如何使用 Node.js 将 MongoDB 连接到您的应用程序

    如何使用 Node.js 将 MongoDB 连接到您的应用程序

    NoSQL 数据库对于处理大量分布式数据非常有用,我们可以在这个数据库中存储信息,对其进行管理,这篇文章主要介绍了使用 Node.js 将 MongoDB 连接到您的应用程序,需要的朋友可以参考下
    2022-09-09
  • Linux Ubuntu升级nodejs版本的简单步骤

    Linux Ubuntu升级nodejs版本的简单步骤

    Node.js是一种对应于JavaScript运行时环境的编程语言,这篇文章主要给大家介绍了关于Linux Ubuntu升级nodejs版本的简单步骤,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • nodejs指定版本安装的正确步骤及常见问题

    nodejs指定版本安装的正确步骤及常见问题

    在当今的软件开发领域,Node.js已成为一种非常流行的开发工具,特别是对于需要处理大量并发请求的应用来说,Node.js的高效性能表现得尤为出色,这篇文章主要介绍了nodejs指定版本安装的正确步骤及常见问题,需要的朋友可以参考下
    2025-11-11
  • 如何解决安装websocket还是报错Cannot find module'ws'问题

    如何解决安装websocket还是报错Cannot find module'ws&apos

    这篇文章主要介绍了如何解决安装websocket还是报Cannot find module'ws'问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • nodejs下载指定版本完整图文步骤

    nodejs下载指定版本完整图文步骤

    node.js官方版是一款专业性非常强的浏览辅助工具软件,这款软件操作十分的简单、功能也是非常的强劲,下面这篇文章主要给大家介绍了关于nodejs下载指定版本的相关资料,需要的朋友可以参考下
    2023-12-12
  • 浅析node连接数据库(express+mysql)

    浅析node连接数据库(express+mysql)

    Node是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封装。V8引 擎执行Javascript的速度非常快,性能非常好。Node对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好
    2015-11-11
  • Windows上安装Node-RED的实现

    Windows上安装Node-RED的实现

    Node-RED是一个用于物联网编程的工具,提供了一个基于浏览器的编程环境和丰富的节点类型,本文就来介绍一下Windows上安装Node-RED的实现,感兴趣的可以了解一下
    2025-02-02
  • 用纯Node.JS弹出Windows系统消息提示框实例(MessageBox)

    用纯Node.JS弹出Windows系统消息提示框实例(MessageBox)

    这篇文章主要介绍了用纯Node.JS弹出Windows系统消息提示框实例(MessageBox),非常具有实用价值,需要的朋友可以参考下
    2017-05-05

最新评论