DEV Community

Rajesh Kumar Yadav
Rajesh Kumar Yadav Subscriber

Posted on • Updated 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)