fs.stat()

官方说明:

fs.stat(path, callback)#

查看英文版 / 查看英文md文件 / 编辑中文md文件

异步的 stat(2)。 回调有两个参数 (err, stats) 其中 stats 是一个 fs.Stats 对象。

如果发生错误,则 err.code 会是常见系统错误之一。

不建议在调用 fs.open() 、fs.readFile() 或 fs.writeFile() 之前使用 fs.stat() 检查一个文件是否存在。 作为替代,用户代码应该直接打开/读取/写入文件,当文件无效时再处理错误。

如果要检查一个文件是否存在且不操作它,推荐使用 fs.access()

有点纳闷,为什么官方文档并没有直接说stat的作用?

方法说明: 获取文件信息。 语法:fs.stat(path, [callback(err, stats)])

由于该方法属于fs模块,使用前需要引入fs模块(var fs= require(“fs”)

接收参数:

path   文件路径

callback  回调,传递两个参数,异常参数err, 文件信息数组 stats

stats包含以下信息:(以下信息为案例中读取的文件信息,非默认值)

 代码如下:

{
 
 dev : 0 ,
 
 mode : 33206 ,
 
 nlink : 1 ,
 
 uid : 0 ,
 
 gid : 0 ,
 
 rdev : 0 ,
 
 ino : 0 ,
 
 size : 378(字节) ,
 
 atime : Tue Jun 10 2014 13:57:13 GMT +0800 <中国标准时间> ,
 
 mtime : Tue Jun 13 2014 09:48:31 GMT +0800 <中国标准时间> ,
 
 ctime : Tue Jun 10 2014 13:57:13 GMT +0800 <中国标准时间>
 
}

例子:

代码如下:

var fs = require('fs');
fs.stat('content.txt', function(err, stats){
 if(err){
  throw err;
 }else{
  console.log(stats);
 }
})
 

源码:

  代码如下:

fs.stat = function(path, callback) {
  callback = makeCallback(callback);
  if (!nullCheck(path, callback)) return;
  binding.stat(pathModule._makeLong(path), callback);
};

对应的相关方法是 fs.statsync()

原文地址:https://www.cnblogs.com/zhangmingzhao/p/7827930.html