node之fs文件处理

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字符串

注意:默认从文件中读取出来的都是字符串。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值