Open In App

Node.js fs.readlink() Method

Improve
Improve
Like Article
Like
Save
Share
Report

The fs.readlink() method is an inbuilt application programming interface of fs module which is used to asynchronously return a symbolic link’s value, i.e. the path it is linked to. The optional argument can be used to specify the character encoding of the link path.

Syntax:

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

Parameters: This method accepts three parameters as mentioned above and described below: 

  • path: It is a string, Buffer, or URL which represents the path of the symbolic link.
  • options: It is an object or string that can be used to specify optional parameters that will affect the output. It has one optional parameter:
    • encoding: It is a string value that specifies the character encoding in which the link path is returned. The default value is ‘utf8′.’
  • callback: It is the function that would be called when the method is executed. 
    • err: It is an error that would be thrown if the method fails.
    • linkString: It is the string or Buffer object that contains the symbolic link’s string value.

Below examples illustrate the fs.readlink() method in Node.js:

Example 1: This example reads the value of symlink for a file and also changes the encoding of the value.

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);
});


Output:

Symlink created

Path of the symlink: G:\tutorials\nodejs-fs-readlink\example_file.txt
Path in base64: RzpcdHV0b3JpYWxzXG5vZGVqcy1mcy1yZWFkbGlua1xleGFtcGxlX2ZpbGUudHh0

Example 2: This example reads the value of a symlink for a directory.

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);
});


Output:

Symlink created

Path of the symlink: G:\tutorials\nodejs-fs-readlink\example_directory

Reference: https://nodejs.org/api/fs.html#fs_fs_readlink_path_options_callback



Last Updated : 29 Jul, 2020
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads