Node.js 提供一组类似 UNIX(POSIX)标准的文件操作API。 Node 导入文件系统模块(fs)语法如下所示:
varfs=require("fs")
读取文件
同步方法
// 同步读取vardata=fs.readFileSync('file.txt'); console.log(data.toString());
异步方法
// 异步读取fs.readFile('file.txt', function (err, data) { if (err) { returnconsole.error(err); } console.log(data.toString()); });
打开文件
// 异步打开文件console.log("准备打开文件!"); fs.open('file.txt', 'r+', function(err, fd) { if (err) { returnconsole.error(err); } console.log("文件打开成功!"); });
获取文件信息
fs.stat('file.txt', function (err, stats) { if (err) { returnconsole.error(err); } console.log(stats); console.log("读取文件信息成功!"); // 检测文件类型console.log("是否为文件(isFile) ? "+stats.isFile()); console.log("是否为目录(isDirectory) ? "+stats.isDirectory()); });
写入文件
fs.writeFile('file.txt', 'data', function(err) { if (err) { returnconsole.error(err); } });
关闭文件
fs.open('file.txt', 'r+', function(err, fd) { if (err) { returnconsole.error(err); } 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("文件关闭成功"); }); }); });