وحدة نظام الملفات (Node.js File System Module)

 وحدة نظام الملفات Node.js

Node.js كخادم ملفات

تسمح لك وحدة نظام الملفات Node.js بالعمل مع نظام الملفات على جهاز الكمبيوتر الخاص بك.
لتضمين  وحدة نظام الملفات (File System module)، استخدم الدالة require('fs')  :
var fs = require('fs');
الاستخدام الشائع لوحدة نظام الملفات  (File System module):
  • قراءة الملفات            (Read files)
  • أنشاء ملفات              (Create files)
  • تحديث الملفات          (Update files)
  • حذف الملفات            (Delete files)
  • إعادة تسمية الملفات    (Rename files)
قراءة الملفات (Read Files)
تُستخدم  fs.readFile() method لقراءة الملفات الموجودة على جهاز الكمبيوتر الخاص بك.
افترض أنه لدينا ملف HTML التالي (موجود في نفس المجلد الموجود في ملف  Node.js):
<html>
<body>
<h1>My Header</h1>
<p>My paragraph.</p>
</body>
</html>
قم بتسمية الملف بإسم "demofile1.html" أنشئ ملف Node.js يقرأ ملف HTML ، وأعد المحتوى: الكود
var http = require('http');
var fs = require('fs');
http.createServer(function (req, res) {
  fs.readFile('demofile1.html', function(err, data) {
    res.writeHead(200, {'Content-Type': 'text/html'});
    res.write(data);
    return res.end();
  });
}).listen(8080);
احفظ ملف نود جي اس باسم "demo_readfile.js" وشغل الملف في cmd
C:\Users\Your Name\desktop\node>node demo_readfile.js
افتح المتصفح على الرابط http://localhost:8080
إنشاء الملفات (Create files)
تحتوي وحدة نظام الملفات على طرق لإنشاء ملفات جديدة:
  • fs.appendFile()
  • fs.open ()
  • fs.writeFile ()
تقوم  الدالة  fs.appendFile()  بإلحاق المحتوى المحدد بملف. إذا كان الملف غير موجود ، فسيتم إنشاء الملف جديد:
مثال
أنشئ ملفًا جديدًا باستخدام طريقة اي (method)  appendFile():
var fs = require('fs');
fs.appendFile('mynewfile1.txt', 'Hello content!', function (err) {
  if (err) throw err;
  console.log('Saved!');
});
احفظ الملف باسم "demo_fs_append.js"ثم قم بتشغيله
C:\Users\My Name\desktop\node>node demo_fs_append.js
تأخذ الدالة fs.open() علامة "علم" كمعامل ثاني ، إذا كانت العلامة "w" من أجل "كتابة" ، يتم فتح الملف المحدد للكتابة. إذا كان الملف غير موجود ، فسيتم إنشاء ملف فارغ:
مثال
أنشئ ملفًا جديدًا فارغًا باستخدام طريقة () open:
var fs = require('fs');

fs.open('mynewfile2.txt', 'w', function (err, file) {
  if (err) throw err;
  console.log('Saved!');
});
تستبدل الدالة fs.writeFile () الملف والمحتوى المحددين إذا كانا موجودين. إذا كان الملف غير موجود ، فسيتم إنشاء ملف جديد يحتوي على المحتوى المحدد:
مثال
أنشئ ملفًا جديدًا باستخدام الدالة writeFile ():
 var fs = require('fs');
fs.writeFile('mynewfile3.txt', 'Hello content!', function (err) {
  if (err) throw err;
  console.log('Saved!');
});
تحديث الملفات(Update files)
تحتوي وحدة نظام الملفات على طرق لتحديث الملفات هي:
  • fs.appendFile()
  • fs.writeFile()
تظيف الدالة fs.appendFile () المحتوى المحدد بنهاية الملف المحدد:
مثال
اظافة   "هذا هو النص الخاص بي".   في نهاية ملف "mynewfile1.txt":
var fs = require('fs');
fs.appendFile('mynewfile1.txt', ' هذا هو النص الخاص بي.', function (err) {
  if (err) throw err;
  console.log('Updated!');
});
تستبدل الدالة  fs.writeFile () الملف والمحتوى المحددين:
var fs = require('fs');
fs.writeFile('mynewfile3.txt', 'This is my text', function (err) {
  if (err) throw err;
  console.log('Replaced!');
});
حذف الملفات (Delete files) 
لحذف ملف باستخدام الوحدة النمطية لنظام الملفات(File System module) ، استخدم الدالة fs.unlink ().
الدالة fs.unlink () تحذف الملف المحدد:
مثال
حذف الملف "mynewfile2.txt":
var fs = require('fs');
fs.unlink('mynewfile2.txt', function (err) {
  if (err) throw err;
  console.log('File deleted!');
});
 إعادة تسمية الملفات (Rename files)
لإعادة تسمية ملف باستخدام وحدة نظام الملفات (File System Module)، استخدم الدالة fs.rename()
 الدالة fs.rename () تعيد تسمية الملف المحدد: 
 مثال 
 أعد تسمية الملف "mynewfile1.txt" إلى "myrenamedfile.txt":
var fs = require('fs');
fs.rename('mynewfile1.txt', 'myrenamedfile.txt', function (err) {
  if (err) throw err;
  console.log('File Renamed!');
});
تحميل الملفات(Upload Files)
يمكنك أيضًا استخدام Node.js لتحميل الملفات إلى جهاز الكمبيوتر الخاص بك. تعلم الكيفية في درس تحميل الملفات Node.js.



شاهد الشرح في الفيديو :