Day 72

Node.js File System

13 min
JavaScript 100 Days

Node.js fs (File System) module se files aur directories ke saath kaam karte hain — read, write, delete, rename, watch. Sync aur async dono APIs available hain.

File Operations

Files read, write, aur manage karo.

files.js
javascript
const fs = require("fs/promises"); // modern async API
const path = require("path");

async function fileOperations() {
  // Write file
  await fs.writeFile("users.json", JSON.stringify([
    { id: 1, name: "Zohaib" },
    { id: 2, name: "Ali" }
  ], null, 2));
  
  // Read file
  const content = await fs.readFile("users.json", "utf-8");
  const users = JSON.parse(content);
  console.log(users);
  
  // Append to file
  await fs.appendFile("log.txt", `${new Date().toISOString()} — App started
`);
  
  // File info
  const stats = await fs.stat("users.json");
  console.log("Size:", stats.size, "bytes");
  console.log("Modified:", stats.mtime);
  
  // Rename
  await fs.rename("users.json", "data.json");
  
  // Delete
  await fs.unlink("data.json");
}

fileOperations().catch(console.error);

Directory Operations

Folders create aur list karo.

dirs.js
javascript
const fs = require("fs/promises");

async function dirOperations() {
  // Create directory
  await fs.mkdir("my-project/src", { recursive: true });
  
  // List files
  const files = await fs.readdir(".");
  console.log("Files:", files);
  
  // Detailed listing
  for (const file of files) {
    const stats = await fs.stat(file);
    console.log(`${stats.isDirectory() ? "📁" : "📄"} ${file}`);
  }
  
  // Remove directory (and contents)
  await fs.rm("my-project", { recursive: true, force: true });
}

dirOperations().catch(console.error);

🎯 Practice Challenge

File organizer banao — ek folder ke files ko extension ke hisaab se categorize karo (images/, docs/, code/ folders mein move karo).