一、fs模块介绍:
fs(file system)
模块是nodejs提供的用于访问本地文件系统的功能模块,它使得运行于nodejs环境下的JavaScript具备直接读写本地文件的能力。
fs模块是nodejs的核心模块之一,只要安装了nodejs,就可以直接使用,不需要单独安装。
二、文件写入
(1)导入fs模块
require 全局函数,用来导入模块
const fs=require('fs');
(2)异步写入
1》特点:比起同步,异步方法性能更高,速度更快,而且没有阻塞;推荐使用异步写入
2》语法:fs.writeFile(path,data,[options],callback(data,err))
path - 文本文件的相对路径。
data - 写入内容,可以是 String(字符串) 或 Buffer(缓冲) 对象
options - 编码方式(可省略,省略后读出的文件就是buffer数据格式)
options包含三个参数 :options(encoding,mode,flag)
[encoding:它是一个字符串,它指定文件的编码。默认值为“ utf8”。]
[mode:它是一个整数,指定文件模式。默认值为0o666。]
[flag:它是一个字符串,指定在写入文件时使用的标志。默认值为“ w”。]
callback(err,data) - 回调函数,带有两个参数:读取失败时错误信息参数(err),在写入失败时返回;读取成功时读到的数据(data)。
【注意:文件名如果不存在,它会帮我们自动创建并写入】
3》异步写入代码示例:
fs.writeFile('./我可以(异步).txt','我可以相信自己',callback=>{
//后面的参数分别是:路径,写入内容,[我们用不到配置对象所以可省略],回调函数的data读取成功时读到的数据,回调函数err读取失败时错误信息
//如果写入失败,那么err的值就是一个错误对象;写入成功err的值是null
if(callback){
console.log('写入失败');
return;
}
console.log('写入成功');
});
console.log(1+1); // 终端显示结果:2 写入成功
创建结果显示:
(3)同步写入
1》特点:按顺序进行,更容易理解
2》语法:fs.writeFileSync( path, data,[options] )
path -- 文本文件的相对路径。路径可以是URL类型。该文件也可以是文件描述符。如果两个文件都在同一个文件夹中,只需在文件名中加上引号即可。
options -- 编码方式(可省略,省略后读出的文件就是buffer数据格式)
3》同步写入代码示例:
fs.writeFileSync('./data(同步).txt','test'); //后面参数分别为:路径path,文件内容test
创建结果显示: