Node.js fs.filehandle.utimes() Method

The fs.filehandle.utimes() method is an inbuilt application programming interface of class fs.filehandle within File System module which is used to change the time stamp of this file system.

Syntax:  

const filehandle.utimes(atime, mtime)

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

  • atime: Access timestamp is the last time the file was read.
  • mtime: Modified timestamp signifies the last time the contents of a file were modified.

Return Value: This method returns an pending promise which contains no value in it.

Below programs illustrates the use of fs.filehandle.utimes() method in Node.js:

Example 1: Filename: index.js 

Javascript




// Node.js program to demonstrate the
// filehandle.utimes() method
const fs = require('fs');
const fsPromises = fs.promises;
 
console.log("content of the file before operation :- "
        + fs.readFileSync('example.txt', 'utf8'));
 
// File cTime before operation
fs.stat('example.txt', (err, stats) => {
    if (err) throw err;
 
    console.log("CTime of the file before operation: "
                    + stats.ctime);
});
 
// Initiating asynchronise function
async function funct() {
 
    // Initializing following variables
    let filehandle = null;
    let prom = null;
 
    try {
 
        // Creating and initiating  filehandle
        filehandle = await
            fsPromises.open('example.txt', 'r+');
 
        // Changing the timestamp of the file
        // by using utimes() method
        prom = filehandle.utimes(0, 10);
 
    } finally {
 
        if (filehandle) {
 
            // File cTime after operation
            (filehandle.stat(true))
                        .then(function (result) {
                console.log("CTime of the file "
                        + "after operation :- "
                        + result.ctime);
            })
 
            console.log("content of the file "
                    + "after operation : " +
                fs.readFileSync('example.txt', 'utf8'));
 
            // Close the file if it is opened.
            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 the file before operation : Content of example.txt file 
CTime of the file before operation: Tue Jul 07 2020 09:21:11 GMT+0530 (India Standard Time) 
content of the file after operation : Content of example.txt file 
CTime of the file after operation :- Tue Jul 07 2020 09:53:15 GMT+0530 (India Standard Time) 
 

Example 2: Filename: index.js  

Javascript




// Node.js program to demonstrate the
// filehandle.utimes() 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)));
    }
});
 
// File cTime before operation
fs.stat(file, (err, stats) => {
    if (err) throw err;
 
    console.log(
        "CTime of the file before operation: "
        + stats.ctime);
});
 
// Initiating asynchronise function
async function funct() {
 
    // Initializing filehandle
    let filehandle = null;
 
    try {
 
        // Creating and initiating  filehandle
        filehandle = await
            fsPromises.open(file, 'r+');
 
        // Changing the timestamp of the file
        // by using utimes() method
        prom = filehandle.utimes(0, 20);
 
    } finally {
 
        if (filehandle) {
 
            // Close the file if it is opened.
            // file cTime after operation
            (filehandle.stat(true))
                    .then(function (result) {
                console.log("CTime of the file "
                        + "after operation :- "
                        + result.ctime);
            })
 
            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. 
CTime of the file before operation: Tue Jul 07 2020 09:56:52 GMT+0530 (India Standard Time) 
content of file after operation: This is a file containing a collection of books. 
CTime of the file after operation: Tue Jul 07 2020 09:57:09 GMT+0530 (India Standard Time) 
 

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