Skip to content

fs文件系统模块

本例中 Nodejs 版本为 17.6.0,该模块主要用于访问文件系统并与文件系统进行交互,详细 API 可前往官网文档查询

一、调用方式

1.1 引用

fs 无需安装,是 Node.js 核心模块,可以通过简单地引用来使用它 const fs = require('fs')

1.2 异步调用

fs的方法默认情况下都是异步的,如下所示:

js
fs.rename('before.json', 'after.json', (err) => {
    if (err) {
        return console.error(err);
    }
});

1.3 同步调用

在方法后加入 Sync 即可同步调用,需要在最外围使用 try/catch 来捕获错误

js
try {
    fs.renameSync('before.json', 'after.json');
} catch (err) {
    console.error(err);
}

二、常用 API 列举

api说明示例
readdir获取指定路径下的文件(夹)列表const files = fs.readdirSync('D:\\Test')
readFile获取指定文件的内容,默认返回 Bufferconst txt = fs.readFileSync('a.txt', 'utf8')
stat获取文件(夹)状态信息const stat = fs.statSync('a.zip')
exists查询文件(夹)是否存在(异步用法废弃)const exist = fs.existsSync('a.zip')
writeFile创建文件并写入数据,会覆盖同名文件fs.writeFileSync('a.txt', '123')
appendFile将数据附加到文件中,不存在则创建fs.appendFileSync('a.txt', '123')
unlink删除文件fs.unlinkSync('a.zip')
rmdir删除文件夹,不管是否为空fs.rmdirSync('a.zip', { recursive: true })
rename重命名fs.renameSync('a.zip', 'b.zip')
copyFile复制文件fs.copyFileSync('a.txt', 'D:\\b.txt');
cp复制文件夹