📜  Node.js fs.lstat() 方法

📅  最后修改于: 2022-05-13 01:56:26.419000             🧑  作者: Mango

Node.js fs.lstat() 方法

fs.lstat() 方法类似于 fs.stat() 方法,不同之处在于它用于返回有关用于引用文件或目录的符号链接的信息。返回的 fs.Stat 对象有几个字段和方法来获取有关文件的更多详细信息。

句法:

fs.lstat( path, options, callback )

参数:此方法接受三个参数,如上所述,如下所述:

  • path:它是一个 String、Buffer 或 URL,包含符号链接的路径。
  • options:它是一个对象,可用于指定将影响输出的可选参数。它有一个可选参数:
    • bigint:它是一个布尔值,指定 fs.Stats 对象中返回的数值是否为 bigint。默认值为假。
  • callback:方法执行时调用的函数。
    • err:如果该方法会抛出一个错误。
    • Stats:它是包含文件路径详细信息的 Stats 对象。

下面的示例说明了 Node.js 中的fs.lstat() 方法

示例 1:此示例使用 fs.lstat() 方法获取文件符号链接的详细信息。

// Node.js program to demonstrate the
// fs.lstat() method
  
// Import the filesystem module
const fs = require('fs');
  
fs.symlinkSync(__dirname + "\\example_file.txt",
                        "symlinkToFile", 'file');
console.log("Symlink to file created")
  
fs.lstat("symlinkToFile", (err, stats) => {
  if (err)
    console.log(err);
  else {
    console.log("Stat of symlinkToFile")
    console.log(stats);
  }
});

输出:

Symlink to file created
Stat of symlinkToFile
Stats {
  dev: 3229478529,
  mode: 41398,
  nlink: 1,
  uid: 0,
  gid: 0,
  rdev: 0,
  blksize: 4096,
  ino: 281474976780939,
  size: 45,
  blocks: 0,
  atimeMs: 1585207132017.4473,
  mtimeMs: 1585207132017.4473,
  ctimeMs: 1585207132017.4473,
  birthtimeMs: 1585207132017.4473,
  atime: 2020-03-26T07:18:52.017Z,
  mtime: 2020-03-26T07:18:52.017Z,
  ctime: 2020-03-26T07:18:52.017Z,
  birthtime: 2020-03-26T07:18:52.017Z
}

示例 2:此示例使用 fs.lstat() 方法获取到文件夹的符号链接的详细信息。

// Node.js program to demonstrate the
// fs.lstat() method
  
// Import the filesystem module
const fs = require('fs');
  
fs.symlinkSync(__dirname + "\\example_directory",
                          "symlinkToDir", 'dir');
  
console.log("Symlink to directory created")
  
fs.lstat("symlinkToDir", (err, stats) => {
  if (err)
    console.log(err);
  else {
    console.log("Stat of symlinkToDir")
    console.log(stats);
  }
});

输出:

Symlink to directory created
Stat of symlinkToDir
Stats {
  dev: 3229478529,
  mode: 41398,
  nlink: 1,
  uid: 0,
  gid: 0,
  rdev: 0,
  blksize: 4096,
  ino: 281474976780940,
  size: 46,
  blocks: 0,
  atimeMs: 1585207184224.7136,
  mtimeMs: 1585207184224.7136,
  ctimeMs: 1585207184224.7136,
  birthtimeMs: 1585207184224.7136,
  atime: 2020-03-26T07:19:44.225Z,
  mtime: 2020-03-26T07:19:44.225Z,
  ctime: 2020-03-26T07:19:44.225Z,
  birthtime: 2020-03-26T07:19:44.225Z
}

参考: https://nodejs.org/api/fs.html#fs_fs_lstat_path_options_callback