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);
});
输出:
Symlink created
Path of the symlink: G:\tutorials\nodejs-fs-readlink\example_file.txt
Path in base64: RzpcdHV0b3JpYWxzXG5vZGVqcy1mcy1yZWFkbGlua1xleGFtcGxlX2ZpbGUudHh0
示例 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);
});
输出:
Symlink created
Path of the symlink: G:\tutorials\nodejs-fs-readlink\example_directory
参考: https://nodejs.org/api/fs.html#fs_fs_readlink_path_options_callback