DEV Community

Rajesh Kumar Yadav
Rajesh Kumar Yadav Subscriber

Posted on ā€¢ Edited on

1 1

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)

AWS GenAI LIVE!

GenAI LIVE! is a dynamic live-streamed show exploring how AWS and our partners are helping organizations unlock real value with generative AI.

Tune in to the full event

DEV is partnering to bring live events to the community. Join us or dismiss this billboard if you're not interested. ā¤ļø