Node.js می تواند به عنوان یک سرور فایل عمل کند . بعبارتی ماژول سیستم فایل Node.js اجازه می دهد تا با سیستم فایل بر روی کامپیوتر خود، کار کنید.

برای اضافه کردن ماژول سیستم فایل، از روش require استفاده کنید:

var fs = require('fs');

کاربردهای ماژول سیستم فایل:

  • خواندن فایل ها
  • ایجاد فایل ها
  • به روز رسانی فایل ها
  • حذف کردن فایل ها
  • تغییر نام فایل ها

خواندن فایل ها

متد fs.readFile  برای خواندن فایل ها در کامپیوتر شما استفاده می شود.

فرض کنید که فایل HTML زیر (که در همان فولدر Node.js قرار دارد) وجود دارد:

<html>
<body>
<h1>My Header</h1>
<p>My paragraph.</p>
</body>
</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);
    res.end();
  });
}).listen(8080);

کد بالا را در یک فایل با نام “demo_readfile.js” ذخیره کنید و فایل را اجرا کنید:

اجرای فایل demo_readfile.js:

C:\Users\Your
Name>node demo_readfile.js

برای مشاهده نتیجه برنامه فوق در نوار آدرس مرورگر درخواست زیر را اجرا کنید.

ایجاد فایل ها

ماژول سیستم فایل دارای متدهایی برای ایجاد فایل های جدید است:

  • fs.appendFile()
  • fs.open()
  • fs.writeFile()

متد fs.appendFile ،محتویات تعیین شده را به انتهای یک فایل اضافه می کند.
اگر فایل وجود نداشته باشد، فایل ایجاد می شود:

مثال

یک فایل جدید با استفاده از متد  appendFile ایجاد کنید:

var fs = require('fs');
fs.appendFile('mynewfile1.txt', 'Hello content!', function (err) {
  if (err) throw err;
  console.log('Saved!');
});

متد 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!');
});

به روز رسانی فایل ها

ماژول سیستم فایل دارای متدهایی برای به روز رسانی فایل ها است:

  • fs.appendFile ()
  • fs.writeFile ()

متد  fs.appendFile  محتوای مشخص شده را به انتهای فایل مشخص شده اضافه می کند:

مثال – اضافه کردن ” This is my text” به انتهای فایل “mynewfile1.txt”:

var fs = require('fs');
fs.appendFile('mynewfile1.txt', ' This is my text.', function (err) {
  if (err) throw err;
  console.log('Updated!');
});

متد fs.writeFile برای جایگزین کردن محتوای فایل با محتوای مشخص شده استفاده می شود.

مثال – محتوای فایل “mynewfile3.txt” را جایگزین کنید:

var fs = require('fs');

fs.writeFile('mynewfile3.txt', 'This is my text', function (err) {
  if (err) throw err;
  console.log('Replaced!');
});

حذف کردن فایل ها

برای پاک کردن یک فایل با ماژول File System، از متد  fs.unlink  استفاده کنید.

متد fs.unlink  پرونده مشخص شده را حذف می کند:

مثال – حذف فایل “mynewfile2.txt”:

var fs = require('fs');
fs.unlink('mynewfile2.txt', function (err) {
  if (err) throw err;
  console.log('File deleted!');
});

تغییر نام فایل ها

برای تغییر نام فایل با ماژول File System، از متد 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!');
});

آپلود فایل ها

شما همچنین می توانید از Node.js برای آپلود فایل ها به کامپیوتر خود استفاده کنید.
که در جلسات بعدی آموزش داده خواهد شد.

نمایش قابل چاپ