Open In App

Node.js fs.truncate() Method

Improve
Improve
Like Article
Like
Save
Share
Report

The fs.truncate() method in node.js is used to change the size of the file i.e either increase or decrease the file size. This method changes the length of the file at the path by len bytes. If len represents a length shorter than the file’s current length, the file is truncated to that length. If it is greater than the file length is padded by appending null bytes (x00) until len is reached.

Syntax:

fs.truncate( path, len, callback )

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

  • path: It holds the path of targeted file. It can be either string, buffer or a url.
  • len: It holds the length of the file after which the file will be truncated. It takes an integer input and it is not the mandatory condition as it is default set to 0.
  • callback: The callback receives one argument, any exception throws in the call.

Note: In latest version of node.js, callback is no longer optional parameter. If we will not use the callback parameter then it will return “Type Error” on run-time.

Return Value: It changes the length of the desired file to the desired length.

Example 1:




// Node.js program to demonstrate the
// fs.truncate() method
   
// Include the fs module
var fs = require('fs');
  
// Completely delete the content
// of the targeted file
fs.truncate('/path/to/file', 0, function() {
    console.log('File Content Deleted')
});


Output:

File Content Deleted

Example 2:




// Node.js program to demonstrate the
// fs.truncate() method
   
// Include the fs module
var fs = require('fs');
  
console.log("Content of file");
   
// Opening file
fs.open('input.txt', 'r+', function(err, fd) {
    if (err) {
        return console.error(err);
    }
   
    // Reading file
    fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){
        if (err){
            console.log(err);
        }
   
        // Truncating the file
        fs.truncate('/path/to/file', 15, function(err, bytes){
            if (err){
                console.log(err);
            }
   
            // Content after truncating
            console.log("New content of file");
            fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){
                if (err) {
                    console.log(err);
                }
                  
                // Print only read bytes to avoid junk.
                if(bytes > 0) {
                    console.log(buf.slice(0, bytes).toString());
                }
   
                // Close the opened file.
                fs.close(fd, function(err) {
                    if (err) {
                        console.log(err);
                    }
                });
            });
        });
    });
});


Output:

Content of file
GeeksforGeeks example for truncate in node
New content of file
GeeksforGeeks

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



Last Updated : 12 Oct, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads