Node.js fs.filehandle.truncate() Method

The fs.filehandle.truncate() method is an inbuilt application programming interface of class fs.filehandle within File System module which is used to truncate the particular file object and only that much byte will be retained which passed as an integer in truncate() method.

Syntax:

const filehandle.truncate(len)

Parameter: This method takes the length of bytes till which this file has to be truncated.

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

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



Example 1: Filename: index.js

filter_none

edit
close

play_arrow

link
brightness_4
code

// Node.js program to demonstrate the 
// filehandle.truncate() method
const fs = require('fs');
const fsPromises = fs.promises;
  
// Initiating asyncrionise function
async function funct() {
  
    // Initializng following variables
    let filehandle = null;
    let prom = null;
  
    try {
  
        // Data before operation
        console.log("data before operation: " +
            fs.readFileSync('example.txt', 'utf8'));
  
        // Creating and initiating  filehandle
        filehandle = await 
            fsPromises.open('example.txt', 'r+');
  
        // Truncating the file
        // by using truncate() method
        prom = filehandle.truncate(5);
  
    } finally {
  
        if (filehandle) {
  
            // Data after operation
            console.log("data after operation: " +
                fs.readFileSync('example.txt', 'utf8'));
  
            // Close the file if it is opened.
            await filehandle.close();
        }
    }
}
  
funct().catch(console.error);

chevron_right


Run index.js file using the following command:

node index.js

Output:

data before operation: ABCDEFGHIJK
data after operation: ABCDE

Example 2: Filename: index.js

filter_none

edit
close

play_arrow

link
brightness_4
code

// Node.js program to demonstrate the 
// filehandle.truncate() 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) => {
  
    // Cathing 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 asyncrionise function
async function funct() {
  
    // Initializng filehandle
    let filehandle = null;
  
    try {
      
        // Creating and initiating filehandle
        filehandle = await fsPromises.open(file, 'r+');
  
        // Truncating the file
        // by using truncate() method
        prom = filehandle.truncate(4);
  
    } finally {
  
        if (filehandle) {
  
            // Close the file if it is opened.
            console.log(
                "content of file after operation: "
                + (fs.readFileSync(file)));
  
            await filehandle.close();
        }
    }
}
  
funct().catch(console.error);

chevron_right


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.
content of file after operation: This

NOTE: The above program will not run on online JavaScript and script editor.

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




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.