DEV Community

Rajesh Kumar Yadav
Rajesh Kumar Yadav Subscriber

Posted on • Edited on

Node.js : Asynchronously Read from Files

Use the filesystem module for all file operations:

const fs = require('fs'); 
Enter fullscreen mode Exit fullscreen mode

With Encoding

In this example, read hello.txt from the directory /tmp. This operation will be completed in the background and the callback occurs on completion or failure:

fs.readFile('/tmp/hello.txt', { encoding: 'utf8' }, (err, content) => { // If an error occurred, output it and return if(err) return console.error(err); // No error occurred, content is a string console.log(content); }); 
Enter fullscreen mode Exit fullscreen mode

Without Encoding

Read the binary file binary.txt from the current directory, asynchronously in the background. Note that we do not set the 'encoding' option - this prevents Node.js from decoding the contents into a string:

fs.readFile('binary', (err, binaryContent) => { // If an error occurred, output it and return if(err) return console.error(err); // No error occurred, content is a Buffer, output it in // hexadecimal representation. console.log(content.toString('hex')); }); 
Enter fullscreen mode Exit fullscreen mode

Relative paths

Keep in mind that, in general case, your script could be run with an arbitrary current working directory. To address
a file relative to the current script, use __dirname or __filename:

fs.readFile(path.resolve(__dirname, 'someFile'), (err, binaryContent) => { //Rest of code } 
Enter fullscreen mode Exit fullscreen mode

Buy Me A Coffee

With all that being said, I highly recommend you keep learning!

Thank you for reading this article. Please feel free to connect with me on LinkedIn and Twitter.

Top comments (0)