在node中,所有文件的读取回调函数第一个参数都是error,即:
fs.readdir('path', (error, data) => {
console.log('data', data')
});
一. fs.readdir、fs.readdirSync 和 fs.readFile、fs.readFileSync
-
fs.readdir 和 fs.readFile
这两个方法为异步,所以需要传入回调函数,在回调函数里获取结果。注:readdir() 该方法将返回一个包含“指定目录下所有文件名称”的数组对象,因此readdir方法只读一层
-
fs.readdirSync 和 fs.readFileSync
这两个方法因为为同步的,所以不需要传入回调函数,会把读取后的结果返回回来。
二. fs.stat()
方法说明:
- 获取文件信息。
语法:
-
fs.stat(path, [callback(err, stats)])
由于该方法属于fs模块,使用前需要引入fs模块(var fs= require(“fs”) )
-
接收参数:
path 文件路径
callback 回调,传递两个参数,异常参数err, 文件信息数组 stats
stats包含以下信息:
注意:fs.stat() 为异步方法,对应的同步方式是fs.statSync();
三. fs.emptyDir(dir,callback)
fs-extra是一个模块,用于添加本机fs模块中未包括的文件系统方法。它还为fs方法添加了promise支持。一些文件系统方法未包含在本机fs模块中,因此,如果我们需要使用它们,则必须单独安装它们,但是fs-extra模块具有所有可用的这些方法,这使其可以很好地替代fs模块。
名称为emptyDir()的函数建议清空整个目录。如果目录中有任何可用内容,将使用此函数将其删除。不删除目录本身,仅删除目录中存在的内容。如果该目录不存在,则会创建该目录。
参考链接:https://vimsky.com/examples/usage/nodejs-fs-extra-emptydir-function.html
四. node读写文件与文件路径的关系
在读写文件的时候,文件路径可以写相对路径或者绝对路径
fs.readFile("data.txt", "utf8", function(err, data) {
if(err) {
console.log("读取文件失败", err);
}
console.log(data);
});
如上:data.txt
是相对路径,读取当前目录下的data.txt
, 相对路径相对的是执行node命令的路径
,如果node命令不是在当前目录下执行就会报错, 在当前执行node命令的目录下查找data.txt,找不到。