Node.js 提供一组类似 UNIX(POSIX)标准的文件操作API。 Node 导入文件系统模块(fs)语法如下所示:
var fs = require('fs')
打开文件
fs.open(path, flags[, mode], callback)
读取文件
fs.read(fd, buffer, offset, length, position, callback)
说明:fd 是指通过fs.open() 方法返回的文件描述符。
写入文件
fs.writeFile(filename, data[, options], callback)
截取文件
fs.ftruncate(fd, len, callback)
删除文件
fs.unlink(path, callback)
关闭文件
fs.close(fd, callback)
文件信息
fs.stat(path, callback)
下面是Demo
1.一个简单的文件打开关闭
var fs = require("fs");
var buf = new Buffer(1024);
console.log("准备打开文件!");
fs.open('logo.png', 'r+', function(err, fd) {
if (err) {
return console.error(err);
}
console.log("文件打开成功!");
console.log("准备读取文件!");
fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){
if (err){
console.log(err);
}
// 仅输出读取的字节
if(bytes > 0){
console.log(buf.slice(0, bytes).toString());
}
// 关闭文件
fs.close(fd, function(err){
if (err){
console.log(err);
}
console.log("文件关闭成功");
});
});
});
2.获取文件状态信息
var fs = require("fs");
console.log("准备打开文件!");
fs.stat('logo.png', function (err, stats) {
if (err) {
return console.error(err);
}
console.log(stats);
console.log("读取文件信息成功!");
// 检测文件类型
console.log("是否为文件(isFile) ? " + stats.isFile());
console.log("是否为目录(isDirectory) ? " + stats.isDirectory());
});