nodejs中,文件系统是其一个重要的模块之一,因为它掌控着nodejs对文件的读取和写入的方法,它需要在前台展示数据,也需要在后端写入数据。
Node 导入文件系统模块(fs)语法:
const fs = require("fs");
之前讲过通过 write() 方法可以在页面上显示一些简单的字符串,但是作为前端需要展现的是一整个项目,众多的页面,而不仅仅是一小段字符。所以就需要用到 fs(文件系统模块)。
Node.js 文件系统(fs 模块)模块中的方法均有异步和同步版本,例如读取文件内容的函数有异步的 fs.readFile() 和同步的 fs.readFileSync()。
异步的方法函数最后一个参数为回调函数,回调函数的第一个参数包含了错误信息(error)。
相比较而言,异步方法比起同步,异步方法性能更高,速度更快,而且没有阻塞。
var fs = require("fs");
// 异步读取
fs.readFile('index.txt', function (err, data) {
if (err) {
return console.error(err);
}
console.log("异步读取: " + data.toString());
});
// 同步读取
var data = fs.readFileSync('index.txt');
console.log("同步读取: " + data.toString());
console.log("程序执行完毕。");
异步读取和同步读取使用的方法是不一样的:异步的文件读取方法是:readFile(),而同步是readFileSync()。可以看到同步读取时没有错误抛出的,但是异步可以抛出错误,让我们明白问题出在哪儿。
当然。有读取文件,就有写入文件,fs的写入文件方法为:writeFile()
语法:
fs.writeFile(‘文件路径’,‘要写入的内容’,[‘编码’],‘回调函数’);
文件路径:被写的文件的位置
写入内容: 具体写入的内容,可以是对象 数组 等等
编码:般省略即可,或填写’utf8’
回调函数: err 或 data ,err代表写入失败。也只有它一个参数,失败后悔执行函数里面的代码。
写入的时候如果没有这个文件,会自动创建这个文件
如果被写入的文件已存在内容,那么写入的话,会覆盖之前的内容
写入数据的类型必须是字符串或buffer二进制数据 ,对象等数据,写入后,接收的是数据类型。