本文实例讲述了node.js中fs文件系统模块的使用方法。分享给大家供大家参考,具体如下:
node.js中为我们提供了fs文件系统模块,实现对文件或目录的创建,修改和删除等操作。
fs模块中,所有的方法分为同步和异步两种实现。
有 sync 后缀的方法为同步方法,没有 sync 后缀的方法为异步方法。
一、文件的整个读取
const fs = require('fs');//参数一表示读取的文件//参数二表示读取的配置,{encoding:'null', flag:'r'}//encoding 表示编码方式//flag 表示文件系统标志//如果没有指定参数二中的encoding,则data返回的是一个Bufferfs.readFile('./1.txt', function (err, data) { console.log(data);});//如果指定了,则data返回的是解析后的字符串fs.readFile('./1.txt', {'encoding': 'utf8', 'flag': 'r'}, function (err, data) { console.log(data);});
或同步读取:
const fs = require('fs');let data = fs.readFileSync('./1.txt');console.log(data);let data2 = fs.readFileSync('./1.txt', {'encoding': 'utf8'});console.log(data2);
二、往文件写入数据
const fs = require('fs');//参数一表示需要写入的文件//参数二表示写入的数据//参数三表示写入配置 {encoding:'utf8', mode:'0o666', flag:'w'}//encoding 表示文件编码//mode 表示文件权限//flag 表示表示文件系统标志fs.writeFile('./1.txt', '数据', {'mode': 0o666, 'flag': 'w'}, function (err) { console.log(err);});//注意如果文件已存在,默认会覆盖写入fs.writeFile('./1.txt', '你好', function (err) { console.log(err);});//如果想追加写入,将flag设置为'a'就可以了。fs.writeFile('./1.txt', '你好', {'flag': 'a'}, function (err) { console.log(err);});
注意,writeFile() 默认会以覆盖的方式写入数据。
或者同步写入数据:
const fs = require('fs');fs.writeFileSync('./1.txt', '数据');
关于 mode 文件权限的说明:
在linux中文件的权限会为3种,4-表示可读,2-表示可写,1-表示可执行。它们之间的相互组合形成不同权限。
对于文件,有三个权限分配,1:文件所有者,2:文件所属组,3:其他用户。
关于 flag 文件系统标志的说明:
r | 表示 读取 |
w | 表示 写入 |
s | 表示 同步 |
a | 表示 追加 |
x | 表示 文件存在就报错 |
+ | 表示 增加相反操作 |
新闻热点
疑难解答
图片精选