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

文章目录


前言

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


一、文件的创建

1.参数

参数1: path------读取的文件路径(必填

参数2: option------读取的文件配置(可选)recursive 是否递归创建,默认为false

参数3: callback------读取回调函数(必填

2.基本使用

javascript 复制代码
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文件夹中

javascript 复制代码
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 都可以

javascript 复制代码
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 可以

javascript 复制代码
// 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('删除文件夹成功');
})
相关推荐
曲意已决9 分钟前
《深入源码理解webpac构建流程》
前端·javascript
去伪存真19 分钟前
前端如何让一套构建产物,可以部署多个环境?
前端
CC__xy23 分钟前
04 类型别名type + 检测数据类型(typeof+instanceof) + 空安全+剩余和展开(运算符 ...)简单类型和复杂类型 + 模块化
开发语言·javascript·harmonyos·鸿蒙
KubeSphere24 分钟前
EdgeWize v3.1.1 边缘 AI 网关功能深度解析:打造企业级边缘智能新体验
前端
小奋斗28 分钟前
深入浅出:ES5/ES6+数组扁平化详解
javascript·面试
萤丰信息34 分钟前
技术赋能安全:智慧工地构建城市建设新防线
java·大数据·开发语言·人工智能·智慧城市·智慧工地
掘金安东尼36 分钟前
解读 hidden=until-found 属性
前端·javascript·面试
1024小神1 小时前
jsPDF 不同屏幕尺寸 生成的pdf不一致,怎么解决
前端·javascript
滕本尊1 小时前
构建可扩展的 DSL 驱动前端框架:从 CRUD 到领域模型的跃迁
前端·全栈
借月1 小时前
高德地图绘制工具全解析:线路、矩形、圆形、多边形绘制与编辑指南 🗺️✏️
前端·vue.js