fs模块是文件操作的封装,它提供了文件的读取、写入、更名、删除、遍历目录、链接等POSIX文件系统操作。
fs模块提供异步'fs.readFile()'和同步'fs.readFileSync'两个版本。
1.fs.readFile
格式:fs.readFile(filename,[endcoding],[callback(err,data)])
文件名称:filename
Endcoding:utf-8
callback:回调函数,error是错误返回时
data是回调成功后的内容
var fs = require('fs');
fs.readFile('content.txt', 'utf-8', function(err, data) {
if (err) {
console.error(err);
} else {
console.log(data);
}
});
2.fs.readFileSync
格式:fs.readFileSync(filename, [encoding])是 fs.readFile 同步的版本。
3.fs.open
格式:fs.open(path, flags, [mode], [callback(err, fd)])
path:文件路径
flags:可以是以下值
r :以读取模式打开文件。
r+ :以读写模式打开文件。
w :以写入模式打开文件,如果文件不存在则创建。
w+ :以读写模式打开文件,如果文件不存在则创建。
a :以追加模式打开文件,如果文件不存在则创建。
a+ :以读取追加模式打开文件,如果文件不存在则创建。
mode:创建时给文件指定权限,默认值:0666
callback:将传递一个文件描述符fd
4.fs.read
格式:fs.read(fd, buffer, offset, length, position, [callback(err, bytesRead, buffer)])
var fs = require('fs');
fs.open('content.txt', 'r', function(err, fd) {
if (err) {
console.error(err);
return;
}
var buf = new Buffer(8);
fs.read(fd, buf, 0, 8, null, function(err, bytesRead, buffer) {
if (err) { console.error(err); return;
}
console.log('bytesRead: ' + bytesRead);
console.log(buffer);
})
});
运行结果则是:
bytesRead: 8
<Buffer 54 65 78 74 20 e6 96 87>