前言
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');
561

被折叠的 条评论
为什么被折叠?



