| fs文件系统模块
fs模块是Nodejs官方提供用于操作文件的模块
常用:
- fs.readFile 读取文件
- fs.writeFile 创建写入文件
- fs.stat 检测是文件还是目录
- fs.mkdir 创建目录
- fs.appendFile 追加文件
使用时需要引入
const fs = require("fs");
// or
import { api名字 } from 'fs';
readFile 读取文件
fs.readFile(path[,options], callback)
- 参数1:required 字符串,文件路径
- 参数2:可选 表示以什么编码格式来读取文件
- 参数3: required 回调结果,参数有(err, data)
fs.readFile(__dirname + '/test/createFile/file.txt', 'utf8', (err, data) => {
if (err) {
console.log('读取失败');
}
console.log(data); // buffer 数据
console.log(data.toString()); // 将buffer转为字符串
});
读取文件时使用以./或../开头的相对路径时,很容易出现路径引用错误
原因:代码运行时执行的是node命令所处的目录
解决方法:操作文件时提供完整路径,如__dirname,不使用相对路径
writeFile 创建写入文件
fs.writeFile(file, data[,options], callback)
- 参数1:required 字符串,文件存放路径
- 参数2:required 写入内容
- 参数3:可选,是对象
{
encoding:'utf-8', //表示以什么编码格式来写入文件,默认'utf-8'
mode: 438 , // 文件权限,默认438
flag: 'w' // r代表读取文件, w代表写文件(默认), a代表追加
}
- 参数4: required 回调结果,参数有(err)
fs.writeFile(__dirname + "/test/createFile/file.txt", "你好,我是写入内容23",{"flag": "a"}, (err)=> {
console.log(err);
console.log('创建写入成功');
})
stat 检测是文件还是目录
fs.stat(path[,options], callback)
- 参数1:required 字符串,路径
- 参数2:可选,是对象
- 参数3: required 回调结果,参数有(err, data)
fs.stat("./package.json", function (err, data) {
console.log(err)
console.log(data.isFile()) // 判断是否为文件
console.log(data.isDirectory()) // 判断是否为目录
console.log(data)
})
mkdir 创建目录
fs.mkdir(path[, options], callback)
- 参数1:required 字符串,路径
- 参数2:可选,是对象
- 参数3:required 回调结果,参数有(err, data)
fs.mkdir("./test/createFile", (err) => {
console.log(err)
if (err) {
console.log("创建失败");
return
}
console.log("创建成功");
})
appendFile 追加文件
fs.appendFile(path, data[, options], callbackk)
不存在会创建再追加,存在就直接追加
- 参数1:required 字符串,路径
- 参数2:required 字符串,追加内容
- 参数3:可选,是对象
- 参数4:required 回调结果,参数有(err, data)
fs.appendFile('message.txt', 'data to append', (err) => {
if (err) throw err;
console.log('The "data to append" was appended to file!');
});