当前位置: 首页 > news >正文

node使用fs模块(四)—— 文件夹的使用(创建、读取、删除)

文章目录

  • 前言
  • 一、文件的创建
    • 1.参数
    • 2.基本使用
  • 二、文件的读取
    • 1.参数
    • 2.读取文件的基本使用
    • 3.读取文件的递归使用(option中添加recursive为true)
  • 三、文件的删除
    • 1. 参数
    • 2. 基本使用(删除文件夹)
    • 3. 递归删除文件夹


前言

创建、读取、删除都有同步方法,方法后面加上sync即可。不过多解释了。


一、文件的创建

1.参数

参数1: path——读取的文件路径(必填
参数2: option——读取的文件配置(可选)recursive 是否递归创建,默认为false
参数3: callback——读取回调函数(必填
在这里插入图片描述

2.基本使用

const fs = require('fs')

// 1.1创建文件夹 
fs.mkdir('./html', err => {
    if (err) {
        console.log('创建文件夹失败', err);
        return;
    }
    console.log('创建文件夹成功');
})

// 1.2 创建递归文件夹 
fs.mkdir('./a/b/c', {recursive: true}, err => {
    if (err) {
        console.log('创建文件夹失败', err);
        return;
    }
    console.log('创建文件夹成功');
})

在这里插入图片描述

二、文件的读取

1.参数

参数1: path——读取的文件路径(必填
参数2: option——读取的文件配置(可选)recursive 是否递归创建,默认为false
参数3: callback——读取回调函数(必填
在这里插入图片描述

2.读取文件的基本使用

将01-09文件复制到第一步创建的html文件夹中

fs.readdir('./html', (err, data) => {
    if (err) {
        console.log('读取文件夹失败', err);
        return;
    }
    console.log('读取文件夹成功', data); // 返回一个数组,是文件夹中所有文件的名称
})

在这里插入图片描述

3.读取文件的递归使用(option中添加recursive为true)

在这里插入图片描述

三、文件的删除

文件的删除有 fs.rmdir和fs.rm两个方法,但是rmdir不能使用递归删除的方法,所以推荐使用rm

1. 参数

参数1: path——读取的文件路径(必填
参数2: option——读取的文件配置(可选)recursive 是否递归创建,默认为false
参数3: callback——读取回调函数(必填
在这里插入图片描述
在这里插入图片描述

2. 基本使用(删除文件夹)

fs.rmdir 和 fs.rm 都可以

fs.rmdir('./html',  err => {
    if (err) {
        console.log('删除文件夹失败', err);
        return;
    }
    console.log('删除文件夹成功');
})

fs.rm('./html',  err => {
    if (err) {
        console.log('删除文件夹失败', err);
        return;
    }
    console.log('删除文件夹成功');
})

3. 递归删除文件夹

只有 fs.rm 可以

// 3.2.1 rmdir的 recursive (已废弃)
// fs.rmdir('./a/b/c', { recursive: true }, err => { }); // 报错
// 3.2.2 删除递归文件夹
fs.rm('./a/b/c', {recursive: true},  err => {
    if (err) {
        console.log('删除文件夹失败', err);
        return;
    }
    console.log('删除文件夹成功');
})

相关文章:

  • vue3的reactive源码解析
  • 堆优化版dijkstra算法
  • Nignx及负载均衡动静分离
  • golang中快速用melody搭建轻量的websocket服务
  • 【计算机网络笔记】传输层——可靠数据传输之流水线机制与滑动窗口协议
  • Linux学习第28天:Platform设备驱动开发(二): 专注与分散
  • 【数据结构】树形结构所有路径复原为链表
  • AR眼镜定制开发-智能眼镜的主板硬件、软件
  • 如何确认目标期刊被SCI或EI收录?
  • vue element el-table-column 循环示例代码
  • 如何将 ruby 打包类似于jdk在另一台相同架构的机器上面开箱即用
  • API商品数据接口调用
  • 【广州华锐互动】飞机诊断AR远程指导系统为工程师提供更多支持
  • 3D数据过滤为2D数据集并渲染
  • LeetCode|动态规划|1035. 不相交的线 、53. 最大子数组和
  • 【智能座舱系列】- 深度解密小米Hyper OS,华为HarmonyOS区别
  • 前端CSS
  • 数据结构学习笔记——链式表示中的双链表及循环单/双链表
  • 第19期 | GPTSecurity周报
  • 【计算机视觉】3D视觉
  • 做网站可以赚钱吗/十堰seo排名公司
  • cms网站访问人数/seo站长助手
  • 网站收录后才可以做排名吗/企业seo关键字优化
  • 青岛商城网站建设设计/南宁seo结算
  • 外贸网站模板大全/百度推广登录入口官网网址
  • 商城网站开发用什么框架/想要网站导航正式推广