NahdaAIنهضة
Node.js • المستوى الأول • الدرس 3

التعامل مع نظام الملفات (File System - fs Module)

العودة لفهرس المستوى

أهداف الدرس العلمية

  • قراءة الملفات باستخدام fs.readFile() أو fs.readFileSync().
  • كتابة وإنشاء الملفات عبر الخادم بـ fs.writeFile().
  • حذف الملفات بأمان بـ fs.unlinkSync().
  • استخدام path و os لبناء مسارات آمنة.

1. وحدة الملفات المدمجة fs Module

توفر Node.js مكتبة fs للتحكم الكامل في نظام ملفات الخادم وقراءتها وإضافة تعديلات عليها بمرونة وسرعة عالية.

javascript
const fs = require('fs');

// كتابة ملف (متزامن)
fs.writeFileSync('data.txt', 'محتوى جديد', 'utf8');

// قراءة ملف (متزامن)
const content = fs.readFileSync('data.txt', 'utf8');
console.log(content);

// حذف ملف
fs.unlinkSync('data.txt');

2. المزامن vs غير المزامن

🔒 Synchronous (Sync)
javascript
fs.writeFileSync(path, data);
fs.readFileSync(path, 'utf8');

ينتظر حتى تنتهي العملية قبل المتابعة.

⚡ Asynchronous (Async)
javascript
await fs.promises.writeFile(path, data);
await fs.promises.readFile(path, 'utf8');

لا ينتظر — أفضل للأداء في السيرفرات.

التطبيق العملي المباشر

تحدي الدرس الثالث: إحصاء وحذف الملفات

قم بالتعديل على الكود في المحرر أدناه:

  1. غيّر قيمة fileData إلى نص جديد يحتوي على "مرحباً من منصة نهضة".
  2. أضف دالة deleteFile() تستخدم fs.unlinkSync(filePath) لحذف الملف.
  3. قبل الحذف، افحص وجود الملف بـ fs.existsSync(filePath).
  4. اطبع حجم الملف بالبايت عبر fs.statSync(filePath).size.
  5. نادِ الدالة deleteFile() في نهاية الكود لتنظيف الملف المؤقت.
⏳ جارٍ تحميل المحرر التفاعلي...