File System (fs Module)
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!');
});
});
آماده رفتن به درس بعدی هستید؟
این درس را به پایان رساندید و میتوانید به درس بعدی بروید.