fs中封装的方法:
同步:readFileSync writeFileSync appendFileSync statSync unlinkSync existsSync
异步:readFile writeFile appendFile stat unlink
注意:异步靠回调函数
读取(readFile)写入(writeFile )及追加文件(appendFile )
异步读取文件:readFile
let fs = require("fs"); // node 中的 api 是错误优先的
console.log("任务x");
fs.readFile("./name.txt","utf-8",(err,data)=>{
console.log(data); // data就是读取到的数据 wangcai
});
console.log("任务y");
同步读取文件:readFileSync
let fs = require("fs");
console.log("任务x");
let data = fs.readFileSync("./name.txt","utf-8");
console.log(data)
console.log("任务y");
异步写入文件:writeFile
let fs = require("fs");
console.log("任务X");
fs.writeFile("./name.txt","lalala",(err,data)=>{
// console.log(data);
if(err){
console.log(err,"写入文件失败了")
}else{
console.log("写入文件成功了")
}
})
console.log("任务Y");
追加式异步写入文件:appendFile
同writeFile一样,上述代码将writeFile换为appendFile即可
stat查看文件状态(属性)
let fs = require("fs");
fs.stat("./bak",(err,data)=>{
if(err){
console.log(err);
}else{
console.log(err)
}
})
unlink删除文件
let fs = require("fs");
fs.unlink("./age.txt",(err,data)=>{
if(err) console.log(err)
console.log("删除文件成功了")
})
existsSync判断文件是否存在
let fs = require("fs");
let r = fs.existsSync("./rrr.txt")
console.log(r); //true 或 false
使用绝对路径(转义字符问题用path模块处理)
let fs = require("fs");
let path = require("path");
console.log(path.resolve(__dirname,"name.txt"))
目录的创建(mkdir),删除(rmdir)及读取(readdir)
mkdir创建目录
let fs = require("fs");
fs.mkdir("src",(err)=>{
if(err) throw err;
console.log("创建目录成功了")
}) //注意:目录一次只能创建一级
rmdir删除目录
上述代码将mkdir换为rmdir即可,注意,只能一次删除一级且只能删除空目录
readdir读取目录
let fs = require("fs");
fs.readdir("myapp",(err,data)=>{
if(err) throw err;
console.log(data) //[ 'css', 'imgs', 'index.html', 'js' ]
})
JSON相关补充:
JSON.parse(字符串) ===> 把JSON字符串转化成JSON对象
JSON.stringfy(对象) ===> 把JSON对象转化成JSON字符串
注意:默认从文件中读取出来的都是字符串。