使用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操作文件夹的资料请关注脚本之家其它相关文章!

相关文章

  • Node.js对MongoDB数据库实现模糊查询的方法

    Node.js对MongoDB数据库实现模糊查询的方法

    模糊查询是数据库的基本操作之一,下面这篇文章主要给大家介绍了利用Node.js对MongoDB数据库实现模糊查询的方法教程,文中给出了详细的介绍和示例代码,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-05-05
  • node.js模拟实现自动发送邮件验证码

    node.js模拟实现自动发送邮件验证码

    这篇文章主要为大家介绍了node.js模拟实现自动发送邮件验证码的实例过程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-04-04
  • 详解使用Typescript开发node.js项目(简单的环境配置)

    详解使用Typescript开发node.js项目(简单的环境配置)

    本篇文章主要介绍了详解使用Typescript开发node.js项目(简单的环境配置),非常具有实用价值,需要的朋友可以参考下
    2017-10-10
  • NodeJS中的命令行程序、工程目录、NPM

    NodeJS中的命令行程序、工程目录、NPM

    使用NodeJS编写的东西,要么是一个包,要么是一个命令行程序,而前者最终也会用于开发后者,一般我们会同时提供命令行模式和API模式两种使用方式,并且我们会借助三方包来编写代码,NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题
    2023-11-11
  • node.js中的fs.fsyncSync方法使用说明

    node.js中的fs.fsyncSync方法使用说明

    这篇文章主要介绍了node.js中的fs.fsyncSync方法使用说明,本文介绍了fs.fsyncSync的方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下
    2014-12-12
  • nodejs发送http请求时遇到404长时间未响应的解决方法

    nodejs发送http请求时遇到404长时间未响应的解决方法

    这篇文章主要为大家详细介绍了nodejs发送http请求时遇到404长时间未响应的解决方法
    2017-12-12
  • nodejs 日志模块winston的使用方法

    nodejs 日志模块winston的使用方法

    本篇文章主要介绍了nodejs 日志模块winston的使用方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • node.js中的fs.realpathSync方法使用说明

    node.js中的fs.realpathSync方法使用说明

    这篇文章主要介绍了node.js中的fs.realpathSync方法使用说明,本文介绍了fs.realpathSync的方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下
    2014-12-12
  • npm安装sharp出现的问题详解(安装失败的问题及解决)

    npm安装sharp出现的问题详解(安装失败的问题及解决)

    这篇文章主要给大家介绍了关于npm安装sharp出现的问题(安装失败的问题及解决)的相关资料,sharp包是基于node.js的高性能图片处理器,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • node获取命令行中的参数详解

    node获取命令行中的参数详解

    这篇文章主要为大家介绍了node获取命令行中的参数详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11

最新评论