一
内置模块 --- fs模块
不需要下载安装,只要加载,就可以直接使用
读取,导入,外部文件的内容
可以操作 系统中的文件
1,建立一个 fs 模块对象 / 导入fs模块并且执行
导入的是fs模块,在 变量中 存储,变量fs就可以执行模块的功能
类似 通过构造函数生成实例化对象,实例化对象中,可以调用构造函数封装的函数方法
/*
class FS{
fun1(){}
fun2(){}
}
const 实例化对象 = new FS();
实例化对象中,就可以调用构造函数中的函数方法 fun1() fun2()...
*/
fs变量就可以调用 fs模块中,定义的方法
const fs = require('fs');
通过 内置模块加载对象,来调用 模块的功能
功能1:
fs对象.readFile() 对文件读取功能
语法格式:
fs对象.readFile( 要读取文件的路径 , 编码格式(选填) , 读取完毕执行的函数 )
参数1: 要读取文件的路径
可以是 绝对路径---url地址
可以是 相对路径---从执行的外部js文件开始的相对路径
参数2: 读取完毕,执行的函数
参数中可以定义两个形参,形参的名称,可以是任意的符合命名规范的字符
一般第一个形参 是 err 第二个形参是 data
模块化,自行向两个形参中自动存储内容
第一个形参中存储的是 读取文件失败的报错信息
如果读取成功,报错信息是 null
第二个形参中存储的是 读取文件成功的数据信息
如果读取失败,读取的数据信息是 undefined
如果读取成功,默认的编码格式是 Buffer 格式的数据
以十六进制数据,显示的 二进制数据流
一般定义的是 utf-8 格式
总结:
参数1: 需要读取文件的路径,一般是从当前外部js文件开始的相对路径
参数2: 编码格式, utf-8
在cmd中执行,如果 utf-8 显示是 乱码 可以试试 gbk
但是实际项目不会在cmd中显示,都是在浏览器中运行,必须要设定为utf-8
参数3: 读取结束,执行的回调函数
回调函数的参数1,报错信息,读取成功时,是 null
回调函数的参数2,数据信息,读取失败时,是 undefined
功能2:
fs对象.writeFile() 对文件写入内容功能
语法格式:
fs对象.writeFile( 要读取文件的路径 , 要写入的内容 , 写入完毕执行的函数 )
写入文件操作,有文件写入,如果文件写错了也就是没有文件那么创建文件也要写入
这个方法执行起来一定不会报错
如果是已经存在的文件,执行时,会覆盖之前存在的内容,执行结果是定义的写入的内容
写入完毕执行的函数,没有任何自动存储信息的形参,只是简单的执行程序
函数可以写一个空函数,但是必须要有
node.js程序都是异步执行的
也有同步执行的方式
语法格式,功能,参数,与异步是完全一致的
但是我们一般不使用同步形式
fs对象.readFileSync()
fs对象.writeFileSync()
二