node.js中fs文件系统模块的使用方法实例详解

2020-06-17 07:59:04易采站长站整理
表示 写入s 表示 同步a 表示 追加x 表示 文件存在就报错+ 表示 增加相反操作

r+ 与 w+ 区别,文件不存在时,r+ 不会创建文件,而 w+ 会创建。如果文件存在 r+ 不会清空文件,而 w+ 会清空文件。

三、往文件中追加数据


const fs = require('fs');
fs.appendFile('./1.txt', '数据', function (err) {
console.log(err);
});
fs.appendFileSync('./1.txt', '同步追加');

四、拷贝文件


const fs = require('fs');
//参数一表示源文件
//参数二表示目标文件
//参数三表示拷贝操作的修饰符,默认0
//参数四表示回调函数
fs.copyFile('./1.txt', './2.txt', function (err) {
console.log(err);
});
//同步拷贝文件
fs.copyFileSync('./1.txt', './3.txt');

五、打开文件,读取文件,写入文件


const fs = require('fs');
//参数一表示文件路径
//参数二表示文件系统标志
//参数三表示文件权限
//参数四表示回调函数,err表示错误,fd表示文件描述符,是一个整型
fs.open('./1.txt', 'r+', 0o666, function (err, fd) {
//创建一个3字节的Buffer,用来接收数据
let rbuf = Buffer.alloc(3);
//参数一表示文件描述符
//参数二表示接收数据的Buffer
//参数三表示往Buffer中写入的偏移量
//参数四表示读取的字节数
//参数五表示从文件中读取的位置,如果为null,则是文件的当前位置读取
//参数六表示回调函数,err表示错误,bytesRead表示实际读取的字节,buffer表示接收数据的Buffer
fs.read(fd, rbuf, 0, 3, 0, function (err, bytesRead, buffer) {
console.log(rbuf.toString());
console.log(bytesRead);
});
let wbuf = Buffer.from('中国');
//参数一表示文件描述符
//参数二表示写入数据的Buffer
//参数三表示往Buffer中读取的偏移量
//参数四表示写入的字节数
//参数五表示从文件中写入的位置,如果不等于数字,则从文件的当前位置写入
//参数六表示回调函数,err表示错误,written表示实际写入的字节数,buffer表示写入数据的Buffer
fs.write(fd, wbuf, 0, 3, fs.stat, function (err, written, buffer) {
console.log(written);
});
});

六、同步磁盘缓存,把缓冲区数据刷新到文件中。