Node JS

fs module in node js

1. Reading a file with callbacks

const fs = require('fs');
// Read file asynchronously with callback
fs.readFile('myfile.txt', 'utf-8', (err, data) => {
if(err) {
console.error('Error reading file: ', err);
return;
}
console.log('File content', data);
});

// For binary data (like images), omit the encoding
fs.readFile('image.png', (err, data) => {
if(err) throw err;
  // data is a Buffer containing the file content
console.log('Image size: ', data.length, 'byte');
});

2. Reading Files with Promises (Modern Approach)
Using fs.promises or util.promisify for cleaner async/await syntax:
// Using fs.promises (Node.js 10.0.0+)
const fs = require('fs').promises;

async function readFileExample() {
try {
const data = await fs.readFile('myfile.txt', 'utf-8');
console.log('File content', data);
} catch (err) {
console.log('Error reading file:', err);
}
}
readFileExample();

// Or with util.promisify (Node.js 8.0.0+)
const {promisify} = require('util');
const readFileAsync = promisify(require('fs').readFile);

async function readWithPromisify () {
try {
const data = await readFileAsync('myfile.txt', 'utf-8');
console.log(data);
} catch(err) {
console.log(err);
}
}
readWithPromisify();
Read a file synchronously
const fs = require('fs');
try {
// Read file synchronously
const data = fs.readFileSync('myfile.txt', 'utf-8');
} catch (err) {
console.error('Error reading file, err);
}

Creating and Writing Files
Using fs.writeFile()
const fs = require('fs').promises;

async function writeFileExample() {
try {
// Write text to a file
await fs.writeFile('myfile.txt', 'Hello, World!', 'utf-8');

// Write JSON data
const data = { name: 'Jhon', age: 30, city: 'New York' };
await fs.writeFile('data.json', JSON.stringify(data, null, 2), 'utf-8');
console.log('Files created successfully');
} catch (err) {
console.error('Error writing files', err);
}
}
WriteFileExample();
 Using fs.appendFile()

Leave a Reply

Your email address will not be published. Required fields are marked *