上篇文章中我们知道fs模块中路径操作存在下面的问题
使用 fs 模块操作文件的时候,如果提供的操作路径是相对路径, 则会根据当前执行node命令时的磁盘目录,去拼接提供的文件的相对路径,从而容易出现问题;
1.在文件目录下执行文件
文件目录下能读取成功
2.CD到桌面(Desktop)执行文件(此时路径虽然正确但是会报错)
此时路径虽然正确但是会报错
那么解决这类问题 ,node 中给我们提供了__dirname的方式补全路径来解决 fs 模块操作文件时候的路径问题
_ _dirname用法
_ _dirname 表示 当前这个文件执行的时候,所处的根目录
1.执行文件在终端中输出_ _dirname
文件所在目录的路径
2.使用_ _dirname 拼接路径 ,就不会再报错,不管在哪级目录下,补全路径都能成功执行代码
_ _dirname 拼接路径解决fs路径问题
注意:所以只要在使用 fs 模块操作文件的时候,而且这个 方法需要提供一个文件的操作路径,这时候一定要使用 __dirname 去拼接路径 ,__dirname代表一个可变的路径。
fs文件的复制
fs 核心模块中,提供了一个fs.copyFile拷贝文件的方法 ,fs.copyFile(src, dest[, mode], callback),有四个参数:
参数一:代表要拷贝的源文件名
参数二:代表拷贝操作的目标文件名。
参数三:可选参数 代表 用于拷贝操作的修饰符。默认值:0
参数四:代表拷贝完成后的回调callback (只有err形参拷贝失败后的结果)
fs.copyFile方法的使用
使用方法和其他方法一样
fs查看文件信息
fs 核心模块中,提供了一个fs.stat查看文件信息的方法 ,比如查看文件大小 ,文件的创建时间 ,是否为文件类型 等等方法 ,fs.stat(path[, options], callback)的参数有三个:
参数一:表示要查看文件的路径
参数二:可选参数,表示返回的 fs.Stat对象中的数值是否为 bigint型。 默认值:false。
参数三:表示获取文件信息的回调callback(有两个形参 ,err信息查询失败的回调和stats是fs.stat的对象,通过stats对象调用要查询信息的方法)
stats对象的方法
fs.Stat方法的用法
fs.Stat方法使用
fs - 文件系统API总结:
nodeJS核心API的fs - 文件系统模块的常用方法包括:
1.fs.readFile 读取文件
2.fs.writeFile 写入文件
3.fs.appendFile 追加文件
4.node 中提供的__dirname来解决 fs 模块操作文件时候的路径问题
5.fs.copyFile 拷贝文件
6.fs.stat 查看文件信息
nodeJS来开发后台服务器 ,或者提供接口给前端 ,fs文件模块的API方法是必不可少的 ,fs文件模块的API方法有很多 ,掌握一些常用的方法 ,其他的方法可以在node官网API文档产看并使用
接下来,下篇文章我们来介绍一些node核心API中path路径操作的一些常用方法