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


Node.js fs.fstatSync()用法及代碼示例

fs.fstatSync()方法用於同步返回有關給定文件描述符的信息。 fs.Stat對象返回幾個字段和方法,以獲取有關文件的更多詳細信息。

用法:

fstatSync( fd, options )

參數:該方法接受上述和以下所述的兩個參數:



  • fd:它是一個整數值,代表該方法使用的文件描述符。
  • options:該對象可用於指定將影響輸出的可選參數。它具有一個可選參數:
    • bigint:它是一個布爾值,它指定fs.Stats對象中返回的數值是否為bigint。默認值為false。

以下示例說明了Node.js中的fs.fstatSync()方法:

範例1:本示例使用fs.fstatSync()方法獲取文件和目錄的詳細信息。

// Node.js program to demonstrate the 
// fs.fstatSync() method 
  
// Import the filesystem module 
const fs = require('fs'); 
  
const file_fd = fs.openSync('example_file.txt', 'r'); 
  
// Getting information for a file 
let fileStat = fs.fstatSync(file_fd); 
  
console.log("Stats object for:example_file.txt"); 
console.log(fileStat); 
  
// Using methods of the Stats object 
console.log("Path is file:", fileStat.isFile()); 
console.log("Path is directory:", fileStat.isDirectory()); 
  
const dir_fd = fs.openSync('example_directory', 'r'); 
  
// Getting information for a directory 
let dirStat = fs.fstatSync(dir_fd); 
  
console.log("Stats object for:example_directory"); 
console.log(dirStat); 
  
// Using methods of the Stats object 
console.log("Path is file:", dirStat.isFile()); 
console.log("Path is directory:", dirStat.isDirectory());

輸出:

Stats object for:example_file.txt
Stats {
  dev:3229478529,
  mode:33206,
  nlink:1,
  uid:0,
  gid:0,
  rdev:0,
  blksize:4096,
  ino:281474976780786,
  size:0,
  blocks:0,
  atimeMs:1584961030299.117,
  mtimeMs:1582209885466.6848,
  ctimeMs:1582209885466.6848,
  birthtimeMs:1584961030299.117,
  atime:2020-03-23T10:57:10.299Z,
  mtime:2020-02-20T14:44:45.467Z,
  ctime:2020-02-20T14:44:45.467Z,
  birthtime:2020-03-23T10:57:10.299Z
}
Path is file:true
Path is directory:false
Stats object for:example_directory
Stats {
  dev:3229478529,
  mode:16822,
  nlink:1,
  uid:0,
  gid:0,
  rdev:0,
  blksize:4096,
  ino:281474976780789,
  size:0,
  blocks:0,
  atimeMs:1584961090214.9436,
  mtimeMs:1581074249467.7114,
  ctimeMs:1584961030324.12,
  birthtimeMs:1584961030324.12,
  atime:2020-03-23T10:58:10.215Z,
  mtime:2020-02-07T11:17:29.468Z,
  ctime:2020-03-23T10:57:10.324Z,
  birthtime:2020-03-23T10:57:10.324Z
}
Path is file:false
Path is directory:true

範例2:本示例使用fs.fstatSync()方法獲取帶有bigint選項和不帶有bigint選項的文件的詳細信息。

// Node.js program to demonstrate the 
// fs.fstatSync() method 
  
// Import the filesystem module 
const fs = require('fs'); 
  
const file_fd = fs.openSync('example_file.txt', 'r'); 
  
let fileStat = fs.fstatSync(file_fd); 
console.log(fileStat); 
  
// Using the bigint option to return 
// the values in big integer format 
let fileBigIntStat = fs.fstatSync(file_fd, { bigint:true }); 
console.log(fileBigIntStat);

輸出:

Stats {
  dev:3229478529,
  mode:33206,
  nlink:1,
  uid:0,
  gid:0,
  rdev:0,
  blksize:4096,
  ino:281474976780786,
  size:0,
  blocks:0,
  atimeMs:1584961030299.117,
  mtimeMs:1582209885466.6848,
  ctimeMs:1582209885466.6848,
  birthtimeMs:1584961030299.117,
  atime:2020-03-23T10:57:10.299Z,
  mtime:2020-02-20T14:44:45.467Z,
  ctime:2020-02-20T14:44:45.467Z,
  birthtime:2020-03-23T10:57:10.299Z
}
BigIntStats {
  dev:3229478529n,
  mode:33206n,
  nlink:1n,
  uid:0n,
  gid:0n,
  rdev:0n,
  blksize:4096n,
  ino:281474976780786n,
  size:0n,
  blocks:0n,
  atimeMs:1584961030299n,
  mtimeMs:1582209885466n,
  ctimeMs:1582209885466n,
  birthtimeMs:1584961030299n,
  atimeNs:1584961030299117000n,
  mtimeNs:1582209885466684900n,
  ctimeNs:1582209885466684900n,
  birthtimeNs:1584961030299117000n,
  atime:2020-03-23T10:57:10.299Z,
  mtime:2020-02-20T14:44:45.466Z,
  ctime:2020-02-20T14:44:45.466Z,
  birthtime:2020-03-23T10:57:10.299Z
}

參考: https://nodejs.org/api/fs.html#fs_fs_fstatsync_fd_options




相關用法


注:本文由純淨天空篩選整理自sayantanm19大神的英文原創作品 Node.js | fs.fstatSync() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。