برنامه نویسی با nodejs/جلسه پنجم/کار با فایل

تو این قسمت از دوره آموزی nodejs میخایم کار با فایل هارو یاد بگیریم

  • چجوری یه فایل بسازیم؟
  • چجوری داخل یه فایل متنی بنویسیم؟
  • چجوری فایل رو حذف یا آپدیت کنیم؟
  • و...

با ما باشید تا به جواب این سوال ها برسیم +_+

کار با فایل با استفاده از ماژول ' fs '

ماژول fs به ما این اجازه رو میده که بتونیم با فایلها کار کنیم و هر بلایی که دوست داریم سرشون بیاریم

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

  var fs = require('fs');  

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

  • خواندن فایل
  • ساختن فایل
  • آپدیت فایل
  • حذف فایل
  • تغییر نام فایل



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

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

فایلی با عنوان myHtml.html بسازید و کد زیر رو داخلش قرار بدید:

<html>
<body>
<h1>Salaaaaam</h1>
</body>
 </html> 

حالا فایلی با عنوان fileReader.js بسازید و کد زیر رو داخلش قرار بدید:

var http = require('http');
var fs = require('fs');
http.createServer(function    (req, res) {
  fs.readFile('myHtml.html', function(err, data) {
      res.writeHead(200, {'Content-Type': 'text/html'});
    res.write(data);
    res.end();
  });
}).listen(8080);  

در کد بالا بعد از اینکه ماژول Http و fs رو require کردیم سرور خودمون رو با استفاده از http.CreateServer ساختیم و تابع خودمون رو بهش پاس دادیم

داخل تابع از متد fs.readFile استفاده کردیم , آدرس فایل html خودمون رو که ساخته بودیم بهش دادیم(دقت کنید چون هر دو فایل داخل یک پوشه هستند به این صورت آدرس دهی کردیم) و به عنوان آرگومان دوم تابعی پاس دادیم که به این نوع توابع callback function میگن که 2 تا ورودی داره: err که اگر خوندن فایل با ارور همراه باشه در این قرار میگیره و data که اطلاعات خونده شده از فایل رو داره.

داخل این callback function خودمون هم اطلاعاتی که از فایل خوندیم رو به عنوان جواب به درخواستی که برای ما اومده ارسال کردیم.





ساخت فایل

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

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

متد appendFile کاری که برامون میکنه اینه که محتوایی که ما بهش ارسال میکنیم رو به انتهای فایلی که میخایم اضافه میکن, اگر فایل موجود نباشه اون فایل رو میسازه

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


متد fs.open به عنوان آرگومان دوم اگر " w " ارسال بشه فایل رو برای نوشتن باز میکنه و اگر این آرگومان رو خالی بزاریم فایلی بدون محتوا میسازه:

 var fs = require('fs');
fs.open('mynewfile2.txt', 'w', function (err,    file) {
 if (err) throw err;
  console.log('Saved!');
});  


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

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





آپدیت فایل

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

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

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

 var fs = require('fs');
fs.appendFile('mynewfile1.txt', ' This is my    text.', 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!');
});  



حذف فایل

برای حذف فایل از متد fs.unLinkh استفاده کنید:

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



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

برای تغییر نام یک فایل از متد fs.rename استفاده کنید :

 var fs = require('fs');
fs.rename('mynewfile1.txt', 'myrenamedfile.txt', function (err) {
   if (err) throw err;
  console.log('File Renamed!');
});  



امیدوارم مفید واقع شده باشه

منبع: https://www.w3schools.com/nodejs/nodejs_filesystem.asp