fs (File System) module in Node.js

In Node.js, you can read a file using the built-in fs (File System) module. There are different ways to read files, depending on your use case:

1. Synchronous Reading (Blocking)

This method blocks the execution until the file is fully read. Suitable for scripts where blocking isn't an issue.

const fs = require('fs');

try {
  const data = fs.readFileSync('file.txt', 'utf8'); // Specify the encoding if you want a string
  console.log(data);
} catch (err) {
  console.error('Error reading file:', err);
}

2. Asynchronous Reading (Non-Blocking)

This method is preferred for non-blocking, scalable applications.

const fs = require('fs');

fs.readFile('file.txt', 'utf8', (err, data) => {
  if (err) {
    console.error('Error reading file:', err);
    return;
  }
  console.log(data);
});

3. Using Promises

If you prefer working with promises or async/await, you can use fs.promises:

const fs = require('fs').promises;

async function readFile() {
  try {
    const data = await fs.readFile('file.txt', 'utf8');
    console.log(data);
  } catch (err) {
    console.error('Error reading file:', err);
  }
}

readFile();

4. Reading Large Files (Streaming)

If you're dealing with a large file, using streams is more memory-efficient:

const fs = require('fs');

const stream = fs.createReadStream('file.txt', { encoding: 'utf8' });

stream.on('data', chunk => {
  console.log('Chunk received:', chunk);
});

stream.on('error', err => {
  console.error('Error reading file:', err);
});

stream.on('end', () => {
  console.log('File reading completed.');
});

Choose the Right Method

  • Small files: Use readFileSync or readFile for simplicity.
  • Large files: Use streams to handle memory efficiently.
  • Modern applications: Use promises (fs.promises) or async/await for clean and readable code.

댓글

이 블로그의 인기 게시물

Install and run an FTP server using Docker

Using the MinIO API via curl

PYTHONPATH, Python 모듈 환경설정

Elasticsearch Ingest API

오늘의 문장2

How to checkout branch of remote git, 깃 리모트 브랜치 체크아웃

Fundamentals of English Grammar #1

To switch to a specific tag in a Git repository

You can use Sublime Text from the command line by utilizing the subl command

티베트-버마어파 와 한어파(중국어파)의 어순 비교