Labs ICT
โญ Pro Login

File System Module

Read, write, and manipulate files.

File System Module

The fs module lets you interact with the file system. You can read, write, delete, and modify files and directories.

Reading Files

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

// Async (recommended)
async function readFile() {
  try {
    const data = await fs.readFile("data.txt", "utf-8");
    console.log(data);
  } catch (err) {
    console.error(err);
  }
}

// Synchronous (blocks event loop)
const data = fs.readFileSync("data.txt", "utf-8");
Try it Yourself โ†’

Writing Files

// Create or overwrite
await fs.writeFile("output.txt", "Hello, World!");

// Append to file
await fs.appendFile("output.txt", "\nNew line");

// Write JSON
await fs.writeFile("data.json", JSON.stringify(data, null, 2));

Working with Directories

// Create directory
await fs.mkdir("new-folder", { recursive: true });

// Read directory contents
const files = await fs.readdir("./");

// Check if file/directory exists
try {
  await fs.access("file.txt");
  console.log("File exists");
} catch {
  console.log("File does not exist");
}

// Delete
await fs.unlink("file.txt");
await fs.rm("folder", { recursive: true });

File Streams

For large files, use streams instead of reading everything into memory:

const fs = require("fs");

// Read stream
const readStream = fs.createReadStream("large-file.txt");
readStream.on("data", (chunk) => {
  console.log(`Received ${chunk.length} bytes`);
});

// Write stream
const writeStream = fs.createWriteStream("output.txt");
writeStream.write("Hello ");
writeStream.write("World!");
writeStream.end();

๐Ÿงช Quick Quiz

Which module handles file operations in Node.js?