什么是文件模块:
文件系统模块是一个简单包装的标准 POSIX 文件 I/O 操作方法集。可以通过调用 require(“fs”) 来获取该模块。文件系统模块中的所有方法均有异步和同步版本。
(1)文件系统模块中的异步方法需要一个完成时的回调函数作为最后一个传入形参。
(2)回调函数的构成由调用的异步方法所决定,通常情况下回调函数的第一个形参为返回的错误信息。
(3)如果异步操作执行正确并返回,该错误形参则为null或者undefined。如果使用的是同步版本的操作方法,一旦出现错误,会以通常的抛出错误的形式返回错误。
(4)可以用try和catch等语句来拦截错误并使程序继续进行。
下面我来举一些简单的例子来说明:
1.读取文件(异步)
var fs = require("fs");
//readFile异步读取文件,同步read
fs.readFile("add.js", "utf8", function(error, data) {
if (error) throw error;
console.log(data);
});
add.js中的内容
输出结果:
有一点要注意的,在读取的时候一定注意要设置编码,否则会以 ”buffer“ 字节的形式输出。
例如我把上面中的utf8编码删除了之后会输出如下结果:
2.写文件
var fs = require("fs");
var txt = "写入文件";
//writeFile异步写入文件,write同步写入文件,txt要写入的内容
fs.writeFile("add.js", txt, function(err) {
if (err) throw err;
console.log("写入成功");
});
add.js中的内容
输出结果:
注意:这里的写入会将原文件里的内容全部覆盖掉。而且当要写入文件地址不存在时,会新建文件。
还有一些我就不一 一展示了,这里就整理一些常用的吧。
// unlink同步删除文件,unlinkSync异步删除文件
fs.unlink('add.js', function() {
console.log('删除成功');
});
// rename同步修改文件名称,renameSync异步修改文件名称
fs.rename('add.js', 'a.js', function(err) {
console.log('修改成功');
});
// stat同步查看文件状态,statSync异步修改文件名称
fs.stat('add.js', function(err, stat) {
console.log(stat);
});
// exists同步判断文件是否存在,existsSync异步修改文件名称
fs.exists('add.js', function(exists) {
console.log(exists);
});