浅学node - fs模块(文件操作)(异步篇)

本文详细介绍了如何在Node.js中使用fs模块进行文件操作,包括mkdir、writeFile、appendFile、unlink、rmdir、rename、exists、stat、access和读取(readdir和readFile)等异步方法,适合初学者入门和进阶学习。
摘要由CSDN通过智能技术生成

转载原文:浅学node - fs模块(文件操作)(异步篇)
作者:是你我不想逃
转载已获取作者授权

fs模块(文件操作)(同步篇):https://juejin.cn/post/7094538750570692621/

1、什么是fs模块

fs模块为nodejs的核心模块,属于内置模块,无需进行三方安装,直接引用即可


const fs = require('fs')


fs模块提供文件操作的功能,其中包括了 的功能

2、fs模块的功能

常用功能如下

增: mkdir()  writeFile()  appendFile()
删: unlink() rmdir()
改: rename()
查: exists() stat() access()
读: readdir() readFile()

具体用法:

2.1增:mkdir() writeFile() appendFile()

mkdir()         创建文件夹
writeFile()     写入文件  无增有写入 (具有覆盖性)
appendFile()    写入文件  无增有写入 写入追加后边


writeFile() 和appendFile()写入的时候都需要保证目录存在 否则就会写入失败

2.1.1 mkdir() 创建文件夹

函数中第一个参数是相对路径 第二个参数是一个回调函数

fs.mkdir("./myDir",()=>{        
    console.log("创建完成");
})

2.1.2 writeFile() 写入文件(具有覆盖性)(有则写入,无则新增文件后写入)

函数中第一个参数是相对路径 第二个参数是写入的内容 第三个参数是一个回调函数


箭头函数中err是错误信息

fs.writeFile("./myDir/text.txt", "一键三连", (err) => {  
    if (!err) {              //判断  当没有错误信息时候 执行if里边的语句
         console.log("写入成功");
     }
})

2.1.3 appendFile() 写入文件 无增有写入 写入追加后边

函数中第一个参数是相对路径 第二个参数是写入的内容 第三个参数是一个回调函数


箭头函数中err是错误信息

fs.appendFile("./myDir/text.txt", "一键三连", (err) => {
   if (!err) {       
       console.log("写入成功");
   }
})

2.2删 unlink() rmdir()

unlink()删除文件
rmdir() 删除文件夹

2.2.1 unlink()删除文件

fs.unlink("./myDir/text.txt", (err) => {  //第一个参数是文件路径,第二个参数是回调函数
    if (!err) {
        console.log("删除成功");
    }
})

2.2.2 rmdir() 删除文件夹

fs.rmdir("./myDir", (err) => {  //第一个参数是文件路径,第二个参数是回调函数
    if (!err) {
        console.log("删除成功");
    }
})

2.3改:rename()

rename() 重命名/移动文件位置

2.3.1 rename() 重命名

第一个参数是原文件路径,第二个参数是更改文件名之后文件路径,第三个参数是回调函数

 fs.rename("./myDir", "./abc", (err) => { 
    if (!err) {
        console.log("文件更名成功");
    }
})

2.3.2 rename() 移动文件位置

第一个参数是原文件路径,第二个参数是移动文件之后路径,第三个参数是回调函数

fs.rename("./abc/demo.js", "./myDir/demo.js", (err) => {
    if (!err) {
        console.log("文件移动成功");
    }
})

2.4查:exists() stat() access()

exists()    判断文件或目录是否存在    **即将废除**
stat()      用于判断文件或目录是否存在,如果不存在返回一个错误对象  存在则返回null
access()    判断文件或目录是否存在 如果不存在返回一个错误对象  存在则返回null

2.4.1 exists() 判断文件或目录是否存在 (即将废除)

第一个参数是文件路径,第二个参数是回调函数


回调函数的参数是一个布尔值 true表示存在 false表示不存在

fs.exists("./abc/te2xt.txt",(falg)=>{
    if (falg) {
        console.log("存在");  
    } else {
        console.log("不存在"); 
    }
})

2.4.2 stat() 判断文件或目录是否存在

fs.stat("./abc/text3.txt", (err) => {
    if (err) {
        console.log("不存在");
    } else {
        console.log("存在");
    }
})

2.4.3 access() 判断文件或目录是否存在

第一个参数是文件路径,第二个参数是回调函数


回调函数返回的是错误对象,没有错误返回null

fs.access("./abc/text3.txt", (err) => {
    if (err) {
        console.log("不存在");
    } else {
        console.log("存在");
    }
})

2.5读: readdir() readFile()

readdir()   读取文件夹中的信息
readFile()  读取文件中的数据信息

2.5.1 readdir() 读取文件夹中的信息

第一个参数是文件路径,第二个参数是回调函数


回调函数中第一个参数是错误对象,第二个对象是读取的数据信息

fs.readdir("./myDir",(err,data)=>{
    if (!err) {
        // data数组中包含子文件名和子文件夹名,不包含二级子文件夹中的信息
        console.log(data);
    }
})

2.5.2 readFile() 读取文件中的数据信息

第一个参数是文件路径,第二个参数是回调函数


回调函数中第一个参数是错误对象,第二个对象是读取的数据信息

fs.readFile("./abc/text.txt",(err,data)=>{
    if (!err) {
        // 读取的信息是一个buffer格式的数据
        // beffer 是内存中的缓存数据格式 16进制 可以调用toString()转成字符串
        console.log(data.toString());
    }
})

转载原文:浅学node - fs模块(文件操作)(异步篇)
作者:是你我不想逃
转载已获取作者授权

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值