0
0
NodejsHow-ToBeginner · 3 min read

How to Use fs.readFile in Node.js: Simple Guide

In Node.js, use fs.readFile to read files asynchronously by providing the file path, optional encoding, and a callback function that handles the file content or error. This method reads the entire file and returns its content in the callback once done.
📐

Syntax

The fs.readFile function reads a file asynchronously. It takes three main parts:

  • path: The location of the file to read.
  • options: Optional settings like encoding (e.g., 'utf8').
  • callback: A function that runs after reading, receiving an error or the file data.
javascript
fs.readFile(path, options, callback)
💻

Example

This example reads a text file named example.txt using UTF-8 encoding and prints its content or an error message.

javascript
import { readFile } from 'fs';

readFile('example.txt', 'utf8', (err, data) => {
  if (err) {
    console.error('Error reading file:', err.message);
    return;
  }
  console.log('File content:', data);
});
Output
File content: Hello, this is example text.
⚠️

Common Pitfalls

Common mistakes include:

  • Not handling errors in the callback, which can crash your program.
  • Forgetting to specify encoding, which returns a raw buffer instead of readable text.
  • Using fs.readFileSync when asynchronous reading is intended, which blocks the program.
javascript
import { readFile } from 'fs';

// Wrong: Missing error handling
readFile('missing.txt', 'utf8', (err, data) => {
  if (err) {
    console.error('File not found:', err.message);
    return;
  }
  console.log(data);
});

// Right: Proper error handling
readFile('missing.txt', 'utf8', (err, data) => {
  if (err) {
    console.error('File not found:', err.message);
    return;
  }
  console.log(data);
});
📊

Quick Reference

Remember these tips when using fs.readFile:

  • Always provide a callback to handle results.
  • Specify encoding like 'utf8' to get string output.
  • Handle errors inside the callback to avoid crashes.
  • Use asynchronous reading to keep your app responsive.

Key Takeaways

Use fs.readFile with a callback to read files asynchronously in Node.js.
Always handle errors in the callback to prevent crashes.
Specify encoding like 'utf8' to get readable text instead of raw data.
Avoid blocking your app by not using synchronous file reading unless necessary.