📜  Node.js fs.readlink() 方法

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

Node.js fs.readlink() 方法

fs.readlink() 方法是 fs 模块的内置应用程序编程接口,用于异步返回符号链接的值,即链接到的路径。可选参数可用于指定链接路径的字符编码。

句法:

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

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

  • path:它是一个字符串、Buffer或URL,表示符号链接的路径。
  • options:它是一个对象或字符串,可用于指定将影响输出的可选参数。它有一个可选参数:
    • encoding:它是一个字符串值,指定返回链接路径的字符编码。默认值为“utf8”。
  • callback:方法执行时调用的函数。
    • err:如果方法失败会抛出一个错误。
    • linkString:它是包含符号链接的字符串值的字符串或 Buffer 对象。

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

示例 1:此示例读取文件的 symlink 值并更改值的编码。

javascript
// Node.js program to demonstrate the
// fs.readlink() method
  
// Import the filesystem module
const fs = require('fs');
  
// Create a symbolic link
fs.symlinkSync(__dirname + "\\example_file.txt", 
                       "symlinkToFile", 'file');
  
console.log("\nSymlink created\n");
  
// Using the default utf-8 encoding for the link value
fs.readlink("symlinkToFile", (err, linkString) => {
  if (err)
    console.log(err);
  else
    console.log("Path of the symlink:", linkString);
});
  
  
// Using the base64 encoding for the link value
fs.readlink("symlinkToFile", 
  
  // Specify the options object
  {encoding: "base64"},
  (err, linkString) => {
    if (err)
      console.log(err);
    else
      console.log("Path in base64:", linkString);
});


javascript
// Node.js program to demonstrate the
// fs.readlink() method
  
// Import the filesystem module
const fs = require('fs');
  
// Create a symbolic link
fs.symlinkSync(__dirname + "\\example_directory", 
            "symlinkToDir", 'dir');
  
console.log("\nSymlink created\n");
  
fs.readlink("symlinkToDir", (err, linkString) => {
  if (err)
    console.log(err);
  else
    console.log("Path of the symlink:", linkString);
});


输出:

示例 2:此示例读取目录的符号链接的值。

javascript

// Node.js program to demonstrate the
// fs.readlink() method
  
// Import the filesystem module
const fs = require('fs');
  
// Create a symbolic link
fs.symlinkSync(__dirname + "\\example_directory", 
            "symlinkToDir", 'dir');
  
console.log("\nSymlink created\n");
  
fs.readlink("symlinkToDir", (err, linkString) => {
  if (err)
    console.log(err);
  else
    console.log("Path of the symlink:", linkString);
});

输出:

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