Node.js中9种必须要掌握的fs模块文件操作方法、文件夹递归删除知识,文末提供源码

在这里插入图片描述
本文主要介绍了Node.js常用的文件操作方法,以及常见的处理场景,文件追加,文件夹递归删除等。

文章目录

Node.js中9种必须要掌握的文件操作方法

一、前言

  1. fs.mkdir()
  2. fs.writeFile()
  3. fs.appendFile()
  4. fs.stat()
  5. fs.readFile()
  6. fs.readdir()
  7. fs.rename()
  8. fs.unlink()
  9. fs.rmdir()

二、fs.mkdir()创建文件夹

异步的创建一个文件夹。

语法:

fs.mkdir(path[,options],callback)
/**
 * path <string> | <Buffer> | <URL>
 * options <Object> | <integer>
 * recursive <boolean> 默认值: false
 * mode <string> | <integer> Windows 上不支持。 默认值: 0o777。
 * callback <Function>
 * err <Error>
 * path <string> | <undefined> 仅当创建目录时将 recursive 设置为 true。
 */

2.1 最简单的案例

最简单的案例,在当前目录下创建一个temp文件夹:

const fs = require('fs')

fs.mkdir('./temp',(err)=>{
    if(err){
        console.log(err.message)
        return 
    }
    console.log('创建文件夹成功')
})

代码执行结果:

image-20220704150029913

2.2 递归创建文件夹

使用参数{recursive:true}创建多层次的文件夹。

fs.mkdir('./parent/son/grandson',{recursive:true},(err,path)=>{
    if(err){
        console.log(err.message)
        return 
    }
    console.log('递归创建文件夹成功',path)
})

代码执行结果:

image-20220704150941247

注意: 在使用{recursive:true}参数时,回调对应的会增加一个path参数,其他情况下没有。

三、fs.wirteFile()创建、写文件

file 是文件名时,将数据异步地写入文件,如果文件已存在则替换该文件。 data 可以是字符串或缓冲区。

file 是文件描述符时,其行为类似于直接调用 fs.write()本文不涉及这种情况)。

语法:

fs.writeFile(file, data[, options], callback)
/**
 * file <string> | <Buffer> | <URL> | <integer> 文件名或文件描述符
 * data <string> | <Buffer> | <TypedArray> | <DataView> | <Object>
 * options <Object> | <string>
 * encoding <string> | <null> 默认值: 'utf8'
 * mode <integer> 默认值: 0o666
 * flag <string> 请参阅对文件系统 flags 的支持。 默认值: 'w'。
 * signal <AbortSignal> 允许中止正在进行的写入文件
 * callback <Function>
 * err <Error> | <AggregateError>
 */

3.1 创建并写入一个文件

创建一个名为index.html的文件,并写入一行字符串。

fs.writeFile('./index.html',"<h1>你好,中国</h1>",(err)=>{
    if(err){
        console.log(err.message)
        return 
    }
    console.log("创建写入文件成功")
})

代码执行结果如下:

image-20220704152812122

3.2 重写文件并指定编码

重写index.html,并为文件指定编码:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值