什么是 fs 文件系统模块
fs 模块是 Node.js 官方提供的、用来操作文件的模块,是 nodejs 中最常用的一个模块,它提供了一系列的方法和属性,用来满足用户对文件的操作需求。掌握 fs 模块是非常有必要的,fs 模块的方法非常多,用到了哪个查哪个即可。
例如:
- fs.readFile() 方法,用来读取指定文件中的内容
- fs.writeFile() 方法,用来向指定文件中写入内容
- fs.appendFile() 方法,用来向指定文件中追加内容
const fs = require('fs')
require() 方法是用来加载模块的一个方法,在加载模块的同时会先执行一遍模块里的代码
fs.readFile
使用 fs.readFile() 方法,可以读取制定文件中的内容,其语法格式如下:
- 参数1(path[路径]):必选参数,表示文件的路径
- 参数2(options): 可选参数,表示以什么编码格式来读取文件,如果没有设置,会返回一个buffer对象
- 参数3(callback[回调函数]):必选参数,文件读取完成后,通过回调函数拿到读取的结果
fs.readFile("data.txt", "utf8", function(err, data) {
console.log(err);
console.log(data);
});
关于 Buffer 对象
- Buffer 对象是 Nodejs 用于处理二进制数据的。
- 其实任意的数据在计算机底层都是二进制数据,因为计算机只认识二进制。
- 所以读取任意的文件,返回的结果都是二进制数据,即 Buffer 对象
- Buffer 对象可以调用 toString() 方法转换成字符串。
fs.writeFile
使用 fs.writeFile() 方法,可以向指定文件中写入内容,其语法格式如下:
- 参数1(path[路径]):必选参数,表示文件的存放路径
- 参数2(data[内容数据]):必选参数,表示要写入的内容
- 参数3(options):可选参数,表示用什么格式将内容写入文件
- 参数4(callback[回调函数]):必选参数,文件写入完成后的回调函数
fs.writeFile("hello.txt", "hello world", function(err){
if(err) {
return console.log("写入文件失败", err);
}
console.log("写入文件成功");
});
fs.appendFile
使用 fs.writeFile() 方法,可以向指定文件中追加内容,其语法格式如下:
- 参数1:追加的文件名(如果文件不存在,会自动创建)
- 参数2:追加的文件内容(注意:写入的内容会覆盖以前的内容)
- 参数3:追加文件后的回调函数
fs.appendFile("hello.txt", "我是追加的内容", function(err){
if(err) {
return console.log("追加文件内容失败");
}
console.log("追加文件内容成功");
})