示例代码
js">const fs = require('fs');
const {log} = console;
const fd1 = fs.readFile("./test.txt",(err,data)=>{
if(err) log(err);
else log(data);
})
log(fd1);
log("加encoding");
fs.readFile("./test.txt","utf-8",(err,data)=>{
if(err) log(err);
else log(data);
});
log("---");
var data = fs.readFileSync('test.txt');
console.log("同步读取1: " + data.toString());
fs.writeFile('test.txt', '第二次写入的文件内容!', function(err,data) {
if (err) {
return console.error(err);
}
console.log("数据写入成功!");
log(data)
});
log("-------------");
var data = fs.readFileSync('test.txt');
console.log("同步读取2: " + data.toString());
fs.open("./test.txt","w+",(err,data)=>{
if(err) log(err);
else log("打开成功"+data);
})
测试结果
js">
PS D:\Codes\node> node "d:\Codes\node\12、fs模块的使用.js"
undefined
加encoding
---
同步读取1: hello
-------------
同步读取2:
打开成功6
数据写入成功!
undefined
<Buffer e7 ac ac e4 ba 8c e6 ac a1 e5 86 99 e5 85 a5 e7 9a 84 e6 96 87 e4 bb b6 e5 86 85 e5 ae b9 ef bc 81>
第二次写入的文件内容!
结果分析
undefined
加encoding
- 说明js读取文件的操作没有返回值,下一步操作只能在回调函数里面操作
- 注意、同步读取与异步读取的差别
- js与其他脚本语言的文件操作存在一些细微的差别
-
- 比如说,js在写文件之前不需要打开文件,即无需
fs.open()
即可 fs.writeFile()
- 此外,
fs模块
是没有办法在html文件里面的script
标签使用的
执行线程的走向
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210111163831269.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1NzA0MDQ4,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/2021011116411712.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1NzA0MDQ4,size_16,color_FFFFFF,t_70)