Nodejs:文件系统(fs)/ 模块——文件读取、文件写入

  • Post author:
  • Post category:其他


在Nodejs中可以通过内置的fs模块(功能)来操作系统文件。fs->filesystem


文件系统中有两种编程方式:同步(以Sync结尾)、回调


用到fs模块先引入,const fs = require(‘fs’);

(const用来声明一个不能修改的只读常量。和let类似)


一、文件读取:


1.同步:

readFileSync(path[,options]);


[ ]内的值可以省略





path:文件路径

options:①省略:以流的形式


(十六进制)


返回读取到的内容。

②不省略:{“encoding”:’utf-8′} | ‘utf-8’   返回字符串。


(引入fs模块后先在同级目录下创建一个名为:文件读取的.txt文件,文件内输入测试二字)


①省略options:

let res = fs.readFileSync('文件读取.txt');
console.log(res);


(必须在文件自身所在位置的地址栏进行cmd操作)

Buffer->流 (16进制:0-9 a-f)可以用toString()将16进制转为字符串变为了具体的内容。

let res = fs.readFileSync('文件读取.txt');
console.log(res.toString());


② 不省略options:

let res = fs.readFileSync('文件读取.txt', 'utf-8');
console.log(res);

执行js文件:用文件读取(同步)获得‘文件读取.txt’中的内容:测试


2.回调:

fs.readFile(pasth[,options],callback);

callback:箭头函数  (err,result)=>{…}

err:保存错误信息,没有返回null。result:保存结果。

let ult = fs.readFile('文件读取.txt', 'utf-8', (err, result) => { console.log(err, result); });
console.log(ult);

执行js文件:用文件读取(回调)获得‘文件读取.txt’中的内容:测试


二、文件写入(只写同步):

fs.writeFileSync(path,data[,options]);

path:路径

data:数据(内容)

[,options]:写入模式,不传递参数默认值w(写入,覆盖原来的内容), 传递可以自己定义模式(a-> z追加)  {‘flag’:’w|a|…’}


①不写options


,默认传递w,覆盖原来的内容


(先在同级目录下创建一个名为:文件写入的.txt文件,文件内输入测试二字)

fs.writeFileSync('文件写入.txt','文件写入')

执行结果没有任何返回值,但是不报错,就是执行成功了


文件写入.txt文件

页面成果:原本的测试两个字被新加入的’文件写入’替换了。


②写options

,在原内容的基础上追加内容    (\n是换行)

fs.writeFileSync('文件写入.txt', '\n文件写入', { flag: 'a' })

执行结果:



版权声明:本文为qq_56715703原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。