当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Node.js fs.stat(path[, options], callback)用法及代码示例


fs.stat(path[, options], callback)

历史
版本变化
v18.0.0

将无效回调传递给 callback 参数现在会抛出 ERR_INVALID_ARG_TYPE 而不是 ERR_INVALID_CALLBACK

v10.5.0

接受一个额外的 options 对象来指定返回的数值是否应该是 bigint。

v10.0.0

callback 参数不再是可选的。不通过它将在运行时抛出TypeError

v7.6.0

path 参数可以是使用 file: 协议的 WHATWG URL 对象。

v7.0.0

callback 参数不再是可选的。不通过它将发出带有 ID DEP0013 的弃用警告。

v0.0.2

添加于:v0.0.2


参数

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

如果出现错误,err.code 将是 Common System Errors 之一。

不建议在调用 fs.open()fs.readFile()fs.writeFile() 之前使用 fs.stat() 检查文件是否存在。相反,用户代码应该直接打开/读取/写入文件并处理文件不可用时引发的错误。

要检查文件是否存在而不随后对其进行操作,建议使用 fs.access()

例如,给定以下目录结构:

- txtDir
-- file.txt
- app.js

下一个程序将检查给定路径的统计信息:

import { stat } from 'node:fs';

const pathsToCheck = ['./txtDir', './txtDir/file.txt'];

for (let i = 0; i < pathsToCheck.length; i++) {
  stat(pathsToCheck[i], (err, stats) => {
    console.log(stats.isDirectory());
    console.log(stats);
  });
}

结果输出将类似于:

true
Stats {
  dev: 16777220,
  mode: 16877,
  nlink: 3,
  uid: 501,
  gid: 20,
  rdev: 0,
  blksize: 4096,
  ino: 14214262,
  size: 96,
  blocks: 0,
  atimeMs: 1561174653071.963,
  mtimeMs: 1561174614583.3518,
  ctimeMs: 1561174626623.5366,
  birthtimeMs: 1561174126937.2893,
  atime: 2019-06-22T03:37:33.072Z,
  mtime: 2019-06-22T03:36:54.583Z,
  ctime: 2019-06-22T03:37:06.624Z,
  birthtime: 2019-06-22T03:28:46.937Z
}
false
Stats {
  dev: 16777220,
  mode: 33188,
  nlink: 1,
  uid: 501,
  gid: 20,
  rdev: 0,
  blksize: 4096,
  ino: 14214074,
  size: 8,
  blocks: 8,
  atimeMs: 1561174616618.8555,
  mtimeMs: 1561174614584,
  ctimeMs: 1561174614583.8145,
  birthtimeMs: 1561174007710.7478,
  atime: 2019-06-22T03:36:56.619Z,
  mtime: 2019-06-22T03:36:54.584Z,
  ctime: 2019-06-22T03:36:54.584Z,
  birthtime: 2019-06-22T03:26:47.711Z
}

相关用法


注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 fs.stat(path[, options], callback)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。