fs模块
⭐⭐⭐fs读取文件
const fs = fs.readFile(path[,options],callback)
****callback:
err
data
const fs = require('fs')
同步读取
let data = fs.readFileSync("./demo/a.html","utf8")
console.log(data);
异步读取
fs.readFile("./demo/a.html","utf8",function(err,data){
if (err) {
console.log("错误,是"+err);
}
console.log(data);
})
console.log(456);
会先输出456,再是html内容,其中data是路径中的内容
fs写入文件
fs.writeFile(path,data[,options],callback)
callback
err
const fs = require('fs');
同步写入
fs.writeFileSync("./demo/a.html","wsnd 66666666")
a.html中内容会被更换,这种方法都是覆盖数据
异步写入
fs.writeFile("./demo/b.html","别说了,我不是你爹",err=>{
if (err) {
console.log("写入错误,错误是:"+err);
return;
}
console.log("写入成功");
})
console.log(123);
若路径不存在,则会新建路径
fs追加内容
fs.appendFile(path,data[,options],callback)
callback:err
同步追加,异步追加,不会覆盖数据,若路径不存在,则会新建路径
fs.appendFileSync("./demo/b.html",",好好,你是我爹。")
fs.appendFile("./demo/b.html","每天早上都要问问自己值多少钱",err=>{
if (err) {
console.log("写入失败,错误是"+err);
return
}
console.log("写入成功");
})
这种是每次运行都会叠加一条.
fs删除文件
fs.unlink(path,callback)
fs.unlinkSync("./demo/b.html",err=>{
if (err) {
console.log("错误:"+err);
return
}
console.log("删除成功");
})
fs.unlink("./demo/b.html")
fs重命名文件
fs.rename(旧path/文件名,新path/文件名,callback)
callback:err
重命名:并存入新的路径
fs.renameSync("./b.html","./demo/a.html")
fs.rename("./demo/b.html","./demo/a.html",err=>{
if (err) {
console.log("重命名失败:"+err);
return
}
console.log("重命名成功");
})
fs监视文件
fs.watchFile(“path”,"{interval:20},function(){}")
*参数一:路径,参数二:表示每隔多少毫秒监视文件,参数三:文件发生变化时回调,有两个参数:curr为一个fs.Stat对象,被修改后文件,prev,一个fs.Stat对象,表示修改前对象
*
fs.watchFile("./demo/a.html",{interval:20},function(curr, prev){
if (Date.parse(prev.ctime) == 0) {
console.log('文件被创建');
} else if (Date.parse(curr.ctime) == 0) {
console.log('文件被删除');
} else if (Date.parse(curr.mtime) != Date.parse(prev.mtime)) {
console.log('文件有修改');
}
})
接触监听
fs.unwatchFile(filename, [listener]);