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

news2024/11/29 22:45:48

文章目录

  • 前言
  • 一、文件的创建
    • 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('删除文件夹成功');
})

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1159718.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

学习时遇到的错误

1. pycharm中使用ssh远程连接的jupyter时,出现***端口已经被占用的情况 办法一:更换端口,将端口更换为其他 办法二:重启远程终端服务器 2. 关于wandb,在pycharm中调用了wandb.init()初始化函数,中途关闭…

MolFormer分子预训练模型

Large-scale chemical language representations capture molecular structure and properties(2022,NMI) 和原本transformer encoder的不同: 采用linear attention mechanismrotary positional embedding 模型 transformer e…

x3daudio17.dll丢失是什么原因?x3daudio1_7.dll怎么解决?(修复教程分享)

在我多年的电脑使用经历中,我曾经遇到过x3daudio1_7.dll缺失的问题。这个问题让我苦恼了很久,但最终我还是找到了4种有效的修复方法。今天,我想和大家分享一下这些方法,希望对你们有所帮助。 首先,我要讲述一下我遇到…

跟着Nature Communications学作图:纹理柱状图+添加显著性标签!

📋文章目录 复现图片设置工作路径和加载相关R包读取数据集数据可视化计算均值和标准差 计算均值和标准差方差分析组间t-test 图a可视化过程图b可视化过程合并图ab 跟着「Nature Communications」学作图,今天主要通过复刻NC文章中的一张主图来巩固先前分享…

基础课15——语音标注

语音数据标注是对语音数据进行处理和分析的过程,目的是让人工智能系统能够理解和识别语音中的信息。这个过程包括了对语音信号的预处理、特征提取、标注等步骤。 在语音数据标注中,标注员需要对语音数据进行分类、切分、转写等操作,让人工智…

C++ 多线程之OpenMP并行编程使用详解

C 多线程之OpenMP并行编程使用详解 总结OpenMP使用详解本文转载自:https://blog.csdn.net/AAAA202012/article/details/123665617?spm1001.2014.3001.5506 1.总览 OpenMP(Open Multi-Processing)是一种用于共享内存并行系统的多线程程序设计方案,支持…

软件测试之用例篇(万能公式、具体方法)

目录 1. 概念 2. 万能公式 3.具体设计测试用例的方法 (1)等价类 (2)边界值 (3)判定表(因果图) (4)场景设计法 (5)正交法 如何使用 allparis 生成正交…

绕开网站反爬虫原理及实战

1.摘要 在本文中,我首先对网站常用的反爬虫和反自动化技术做了一个梳理, 并对可能能够绕过这些反爬技术的开源库chromedp所使用的技术分拆做一个介绍, 最后利用chromedp库对一个测试网站做了爬虫测试, 并利用chromedp库绕开了爬虫限制,成功通过程序自动获取到信息。在测试过程…

基站/手机是怎么知道信道情况的?

在无线通信系统中,信道的情况对信号的发送起到至关重要的作用,基站和手机根据信道的情况选择合适的资源配置和发送方式进行通信,那么基站或者手机是怎么知道信道的情况呢? 我们先来看生活中的一个例子,从A地发货到B地…

小程序如何设置自动预约快递

小程序通过设置自动预约功能,可以实现自动将订单信息发送给快递公司,快递公司可以自动上门取件。下面具体介绍如何设置。 在小程序管理员后台->配送设置处,选择首选配送公司。为了能够支持自动预约快递,请选择正常的快递公司&…

vue3写nav滚动事件中悬停在顶部

1. 防抖类Animate, 使用requestAnimationFrame代替setTimeout 也可以使用节流函数, lodash有现成的防抖和节流方法 _.debounce防抖 _.throttle节流 export default class Animate {constructor() {this.timer null;}start (fn) > {if (!fn) {throw new Error(需要执行…

力扣:147. 对链表进行插入排序(Python3)

题目: 给定单个链表的头 head ,使用 插入排序 对链表进行排序,并返回 排序后链表的头 。 插入排序 算法的步骤: 插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。每次迭代中&#xff0c…

解决在Win7下运行一些老游戏花屏或色彩异常问题的方法

有一些喜欢回顾经典老游戏的玩家们,在目前最新的windows7的操作系统下,运行某些游戏会出现花屏,问题的原因是因为win7对这些游戏的DirectDraw不兼容,一种方法是改游戏配置文件,把游戏色彩8bit改成16bit,当然…

安装pytorch报错torch.cuda.is_available()=false的解决方法

参考文章: https://blog.csdn.net/qq_46126258/article/details/112708781 https://blog.csdn.net/Andy_Luke/article/details/122503884 https://blog.csdn.net/anmin8888/article/details/127910084 https://blog.csdn.net/zcs2632008/article/details/127025294 …

为什么Facebook运营需使用IP代理?有哪些美国IP代理好用?

随着互联网的快速发展和全球用户规模的不断增长,Facebook已成为了全球最大的社交媒体平台之一。然而,大批量地运营Facebook账号往往需要借助IP代理这一工具,提高账号的安全性和可靠性,使得运营Facebook更加流畅。那么Facebook为什…

嵌入式到底如何理解呢?

今日话题,嵌入式到底如何理解呢?以我个人的理解,可以用一个客观的比喻来描述,就是将某个系统嵌入到特定的环境中,以实现特定的功能。这个过程包括将现实世界中的人、物的意图和逻辑关系,通过计算和运算的方…

【计算机网络】同源策略及跨域问题

1. 同源策略 同源策略是一套浏览器安全机制,当一个源的文档和脚本,与另一个源的资源进行通信时,同源策略就会对这个通信做出不同程度的限制。 同源策略对 同源资源 放行,对 异源资源 限制。因此限制造成的开发问题,称…

【Acwing170】加成序列(dfs+迭代加深+剪枝)题解和一点感想

本思路来自acwing算法提高课 题目描述 看本文需要准备的知识 1.dfs算法基本思想 2.对剪枝这个词有个简单的认识 迭代加深思想和此题分析 首先,什么是迭代加深呢?当一个问题的解有很大概率出现在递归树很浅的层,但是这个问题的解本身存在…

树结构及其算法-用数组来实现二叉树

目录 树结构及其算法-用数组来实现二叉树 C代码 树结构及其算法-用数组来实现二叉树 使用有序的一维数组来表示二叉树,首先可将此二叉树假想成一棵满二叉树,而且第层具有个节点,按序存放在一维数组中。首先来看看使用一维数组建立二叉树的…

Java使用pdfbox进行pdf和图片之间的转换

简介 pdfbox是Apache开源的一个项目,支持pdf文档操作功能。 官网地址: Apache PDFBox | A Java PDF Library 支持的功能如下图.引入依赖 <dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox-app</artifactId><version>…