异步读取:fs.readFile
文件路径是以项目根路径为参考;如果路径下文件不存在,则报错
fs.readFile('./server/login.js', (err, data) => {
if (err) {
return console.error(err);
}
console.log("异步读取: " + data.toString());
});
打开文件:fs.open
// Flag 描述
// r 以读取模式打开文件。如果文件不存在抛出异常。
// r+ 以读写模式打开文件。如果文件不存在抛出异常。
// rs 以同步的方式读取文件。
// rs+ 以同步的方式读取和写入文件。
// w 以写入模式打开文件,如果文件不存在则创建。
fs.open('./server/login.js', 'r+', (err, fd) => {
if (err) {
return console.error(err);
}
console.log(fd); //返回的第二个参数为一个整数,表示打开文件返回的文件描述符,window中又称文件句柄
});
创建文件(如果文件存在则修改原文件的内容)并写入自己的数据
let writeStream = fs.createWriteStream("test/output.png");
let data = req.body.file
writeStream.write(data,'utf8'); //写入数据,会覆盖原有数据
writeStream.end(); //标记写入完成
writeStream.on('finish',() => { //标记写入完成后,会广播一个finish事件
console.log("写入完成");
})
writeStream.on('error',() => { //标记写入失败后,会广播一个error事件
console.log("写入失败");
})