Node.js fs.filehandle.chown() Method

Last Updated : 28 Dec, 2022

The fs.filehandle.chown() method is an inbuilt application programming interface of class fs.filehandle within File System module which is used to change the ownership of the particular file.
 

Syntax:  

const filehandle.chown(uid, gid)


Parameter: This method accept two parameters as mentioned above and described below: 

  • uid:: It represent the user id.
  • gid: It represent group identifiers.


Return Value: This method returns a pending promise that contain no value in it.


Below programs illustrates the use of fs.filehandle.chown() method.
Example 1: Filename: index.js 

javascript
// Node.js program to demonstrate the 
// filehandle.chown() method
const fs = require('fs');
const fsPromises = fs.promises;

console.log("content of file before operation :- "
        + (fs.readFileSync('example.txt')));

// Initiating asynchronise function
async function funct() {

    // Initializing filehandle
    let filehandle = null;

    try {

        // Creating and initiating filehandle
        filehandle = await 
            fsPromises.open('example.txt', 'r+');

        // Modifying the file ownership
        // by using chown() method
        const prom = filehandle.chown(1, 1);

    } finally {

        if (filehandle) {

            // Close the file if it is opened.
            console.log("ownership is changed"
                        + " successfully");

            console.log("content of file after"
                + " operation :- " +
                (fs.readFileSync('example.txt')));

            await filehandle.close();
        }
    }
}

funct().catch(console.error);

Directory structure before running the program: 
 


Directory structure after running the program: 
 


Run index.js file using the following command: 

node index.js


Output: 

content of file before operation :- Content of example.txt file
ownership is changed successfully
content of file after operation :- Content of example.txt file


Example 2: Filename: index.js 

javascript
// Node.js program to demonstrate the 
// filehandle.chown() method
const fs = require('fs');
const fsPromises = fs.promises;

// Data for the new file
let data = "This is a file containing "
        + "a collection of books.";

// Name of the file to be created
let file = "books.txt";

// Creating the new file 'books.txt'
fs.writeFile(file, data, (err) => {

    // Catching error
    if (err) {
        console.log(err);
    }
});

// Using fs.exists() method 
fs.exists(file, (exists) => {
    if (exists) {
        console.log("content of file"
            + " before operation :- " +
            (fs.readFileSync(file)));
    }
});

// Initiating asynchronise function
async function funct() {

    // Initializing filehandle
    let filehandle = null;

    try {

        // Creating and initiating 
        // filehandle
        filehandle = await 
            fsPromises.open(file, 'r+');

        // Modifying the file ownership
        // by using chown() method
        const prom = filehandle.chown(1, 1);

    } finally {

        if (filehandle) {

            // Close the file if it is opened.
            console.log("ownership is changed");

            console.log("content of file "
                + "after operation :- " +
                (fs.readFileSync(file)));

            await filehandle.close();
        }
    }
}

funct().catch(console.error);

Directory structure before running the program: 
 


Directory structure after running the program: 
 


Run index.js file using the following command: 

node index.js


Output: 

content of file before operation :- This is a file containing a collection of books.
ownership is changed
content of file after operation :- This is a file containing a collection of books.


Reference: 
https://nodejs.org/dist/latest-v12.x/docs/api/fs.html#fs_filehandle_chown_uid_gid

Comment

Explore