- fs.readFile()
异步读取
const fs = require('fs');
fs.readFile('./hello.txt', (err, data) => {
if(err) {
console.log('出错了', err);
}else {
console.log(data, data.toString());
}
});
// <Buffer 68 65 6c 6c 6f 32> hello2
// 注意: data获得的文件内容是Buffer数据,想获得源字符串内容需要toString()方法。
- fs.readFileSync()
同步读取
// 方式1
const data = fs.readFileSync('./hello.txt');
// 方式2
const data = fs.readFileSync('./hello.txt',{flag:'r',encoding:"utf-8"})
console.log(data, data.toString());
// <Buffer 68 65 6c 6c 6f 32> hello2
- 也可以对方法进行封装,可以更方便使用
const fs = require("fs");
function fsRead (path) {
return new Promise(function (resolve, reject) {
fs.readFile(path,{flag: 'r',encoding:"utf-8"},function(err,data){
if(err){
// console.log(err);
// 失败执行的内容
reject(err);
}else{
// console.log(data);
// 成功执行的内容
resolve(data);
}
});
})
}
总结
- 推荐使用异步方法