دوره‌ها / Node.js / File System (fs Module)

File System (fs Module)

15 دقیقه Article

File System (fs Module): کار با فایل‌ها در Node.js 📁

ماژول fs برای کار با فایل‌ها و دایرکتوری‌ها در Node.js استفاده میشه. بیایید قدم به قدم یاد بگیریم!

Import کردن fs Module:

// Import کردن fs module
const fs = require('fs');

// یا با ES6 modules
// import fs from 'fs';

خواندن فایل (Synchronous):

// خواندن فایل به صورت synchronous (blocking)
const fs = require('fs');

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

خواندن فایل (Asynchronous):

// خواندن فایل به صورت asynchronous (non-blocking) - توصیه میشه!
const fs = require('fs');

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

console.log('This runs first!'); // این اول اجرا میشه!

نوشتن فایل:

// نوشتن فایل (synchronous)
const fs = require('fs');

try {
    fs.writeFileSync('output.txt', 'Hello, Node.js!', 'utf8');
    console.log('File written successfully!');
} catch (err) {
    console.error('Error writing file:', err);
}

// نوشتن فایل (asynchronous)
fs.writeFile('output.txt', 'Hello, Node.js!', 'utf8', (err) => {
    if (err) {
        console.error('Error:', err);
        return;
    }
    console.log('File written!');
});

کار با دایرکتوری‌ها:

// ساخت دایرکتوری
fs.mkdir('new-folder', (err) => {
    if (err) {
        console.error('Error:', err);
        return;
    }
    console.log('Directory created!');
});

// خواندن محتوای دایرکتوری
fs.readdir('.', (err, files) => {
    if (err) {
        console.error('Error:', err);
        return;
    }
    console.log('Files:', files);
});

// حذف فایل
fs.unlink('file.txt', (err) => {
    if (err) {
        console.error('Error:', err);
        return;
    }
    console.log('File deleted!');
});
💡 نکته: همیشه از async methods استفاده کنید! اون‌ها non-blocking هستن و performance بهتری دارن!
✅ یاد گرفتید: fs module برای کار با فایل‌ها و دایرکتوری‌ها عالیه!

تمرین‌های عملی

برای تثبیت یادگیری این درس تمرین‌های زیر را حل کنید

تمرین: خواندن و نوشتن فایل Medium
سوال تمرین

🎯 تمرین: File Operations

یک برنامه بنویسید که:

  • یک فایل رو بخونه
  • محتوای اون رو به uppercase تبدیل کنه
  • در یک فایل جدید ذخیره کنه
پاسخ تمرین
JAVASCRIPT
const fs = require('fs');

fs.readFile('input.txt', 'utf8', (err, data) => {
    if (err) {
        console.error(err);
        return;
    }
    
    const upperData = data.toUpperCase();
    
    fs.writeFile('output.txt', upperData, (err) => {
        if (err) {
            console.error(err);
            return;
        }
        console.log('File written successfully!');
    });
});

آماده رفتن به درس بعدی هستید؟

این درس را به پایان رساندید و می‌توانید به درس بعدی بروید.