當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。