fs文件系统模块
fs模块式Node.js官方提供的,用来操作文件的模块,如果想要在js代码中,使用fs模块来操作文件,需要先使用require函数导入fs模块,导入方法:const fs = require('fs')
fs模块提供的方法和属性
1. fs.readFile()方法,用来读取指定文件中的内容
语法格式fs.readFile(path[,options],callback)
其中中括号括起来的内容为可选参数,未括起来的为必填参数
- path:必选参数,字符串,用来表示文件的路径
- options:可选参数,表示用什么样的编码格式来读取文件
- callback:必选参数,文件读取完成后,通过回调函数拿到读取的结果
具体使用
判断文件是否读取成功
2.fs.writeFile()方法,用来向指定文件中写入内容
语法格式fs.writeFile(file,data[,options],callback)
- file:必选参数,需要指定一个文件路径的字符串,表示文件的存放路径
- data:必选参数,表示要写入的内容
- options:可选参数,表示要以什么格式写入文件内容,默认值为utf8
- callback:必选参数,文件写入完成后的回调函数
具体使用
判断是否写入成功
注意:当使用fs.writeFile()方法向指定文件中写入内容时,当文件不存在,会自动建立一个新文件,并将内容写入到创建的新文件中,但是,当指定文件已经存在时,会自动覆盖原来文件中的内容,文件中只有新写入的内容
路径动态拼接
使用fs模块操作文件时,如果提供的操作路径是以.或…/开头的相对路径时,由于代码在运行的时候,会以执行node命令时所处的目录,动态拼接出被操作文件的完整路径,很容易出现路径动态拼接错误的问题。
解决
- 在使用fs模块操作文件时,直接提供完整的路径,但是使用这种方法,代码移植性非常差,不利于后期维护
- _ _dirname表示当前文件所处的目录,在文件路径处可以用 _ _dirname和相对路径进行拼接(推荐使用)