Node.js fs.truncate() Method
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