Node.js中内置的fs模块和path模块

Node.js内置的fs模块

fs 全称file system
在这里插入图片描述

文件写入

异步写入

语法: fs.writeFile(file,data[,options],callback)
在这里插入图片描述

代码演示
// 1.导入fs模块
const fs = require('fs');

// 2.写入文件
fs.writeFile('./素材/座右铭.txt', '三人行, 必有我师焉', err => {
   
    // err默认为null, 有错误才有错误信息
    if (err) {
   
        console.log('错误信息: ' + err);
        return;
    }
    console.log('写入文件成功');
})
// 异步, 不会依次执行, 比如回调函数,而是会放在队列中,
console.log(1 + 1);
// 打印语句输出顺序 先2, 后writeFile的回调函数打印内容, 效率高

在这里插入图片描述

同步写入

fs.writeFileSync('./素材/data.txt','test同步写入');
console.log("同步写入执行完毕");

console.log(1 + 1);

在这里插入图片描述

追加写入

appendFile / appendFileSync
在这里插入图片描述

  • 语法:
    fs.appendFile(file, data[, options], callback)
    fs.appendFileSync(file, data[, options])
代码演示
const fs = require('fs');

fs.appendFile('./素材/座右铭.txt', '\r\n则其善者而从之', err => {
   
    if (err) {
   
        console.log('追加失败: ' + err);
        return;
    }
    console.log("追加成功");
})

fs.writeFile方法也可以实现追加写入

fs.writeFile('./素材/座右铭.txt', '勿以善小而不为', {
    flag: 'a' }, err => {
   
    if (err) {
   
        console.log(err);
        return;
    }
    console.log('写入成功');
})

流式写入

  • 语法: fs.createWriteStream(path[, options])
    在这里插入图片描述
代码演示
const fs = require('fs');

const cws = fs.createWriteStream('./素材/蛊真人.txt');

cws.write('落魄谷中寒风吹,春秋蝉鸣少年归\r\n荡魂山处石人泪,定仙游走魔向北\r\n逆流河上万仙退,爱情不敌坚持泪\r\n宿命天成命中败,仙尊悔而我不悔')

cws.close;

在这里插入图片描述

文件写入应用场景

在这里插入图片描述

文件读取

异步和同步读取

  • 语法: fs.readFile(path[, options], callback)
  • 语法: fs.readFileSync(path[, options])
    在这里插入图片描述
代码演示
const fs = require('fs');

// 想读取文件内容,需要指定格式,或者调用toString方法
fs.readFile('./素材/蛊真人.txt', (err, data) => {
   
    if (err) {
   
        console.log(err);
        return;
    }

    console.log(data.toString());
});

const data = fs.readFileSync('./素材/座右铭.txt', 'utf8')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值