node-fs文件模块


前言

fs模块是nodejs的一个内置模块,fs模块用于对系统文件及目录进行读写操作。fs模块提供了一些操作系统文件相关的api,所有的文件系统操作都具有同步和异步的形式。异步的形式总是把完成回调作为其最后一个参数。 传给完成回调的参数取决于具体方法,但第一个参数总是预留给异常。 如果操作被成功地完成,则第一个参数会为 null 或 undefined。


一、读取文件

1.异步方式

  • fs.readFile(path[, options], callback)
//使用fs模块
const fs = require("fs");

fs.readFile("data.txt", (err, data) => {
    if (err) throw error;
    console.log(data);//<Buffer 68 65 6c 6c 6f 20 77 6f 72 64 21 21 21>

})

运行结果不是我们想看的,这是只需要加上一个参数(设置编码格式)就可以了

fs.readFile("data.txt", "utf-8", (err, data) => {});

在这里插入图片描述
我们在fs读取文件后面加上一个输出语句

//使用fs模块
const fs = require("fs");

fs.readFile("data.txt", "utf-8", (err, data) => {
    if (err) throw error;
    console.log(data);
})
console.log("我是主线程的输出");

在这里插入图片描述
通过输出可发现输出语句在读取文件前面就执行了,由此可判断它是异步处理的。

2.同步方式

  • fs.readFileSync(path[, options])
    就是在readFile后面加Sync即可,所有带Sync的都为同步方式
fs.readFileSync("data.txt", "utf-8")

在这里插入图片描述

二、写入文件

1.覆盖式写入

  • fs.readFile(path[, options], callback)
fs.writeFile('data.txt', '我是写入的文本', (err) => {
    console.log("文件已经写入");
});

覆盖写入顾名思义就是会把我原来的文本覆盖
如图:我开始写的hello wold已经没了
在这里插入图片描述

2.追加式写入

  • fs.appendFile(path, data[, options], callback)
fs.appendFile('data.txt', '我是我是追加写入的文本', (err) => {
    console.log("文件已经写入");
});

在这里插入图片描述
追加式写入会在原有的文本后面添加,同理写入也有同步和异步写法大致和读取文件一样。如果写入的文件不存在,则自动新建该文件。

三、文件的其他操作

  • 删除文件 fs.unlinkSync(‘文件名’);
fs.unlinkSync('data.txt');
  • 复制文件 fs.copyFileSync(‘源文件名’,‘复制体文件名’);

fs.copyFileSync('data.txt', 'copydata.txt');

复制整个文件,包括里面的内容

  • 修改文件名 fs.renameSync(‘原文件名’,‘新文件名’);
fs.renameSync('copydata.txt', 'data2.txt');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值