Day 72 Node.js File System
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.
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.
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).