طراحی سایت ساناتک

در قسمت قبلی فایل را به یکباره می خواندیم. در این قسمت می خواهیم قسمتی از فایل را بخوانیم و یا به محتویات فایل چیزی را اضافه کنیم. اگر به خاطر داشته باشید با ماژول fs " (file system) " به فایل دسترسی پیدا می کردیم .

به کد زیر دقت کنید. با متغیر "fs" از ماژول شبیه سازی می کنیم و سپس به توابع آن دسترسی پیدا می کنیم. از تابع open برای باز کردن فایل استفاده می کنیم. این تابع شامل 3 پارامتر است که اولی نام فایل، دومی نحوه بازکردن فایل و سومی تابعی است از عملیاتی که میخواهیم روی فایل انجام دهیم.

var fs= require ("fs");
fs.open('file.txt','r ', function(err,file){
      if(err) {
                 return console.log(err);
              }
     console.log("Success");
}):

 " r" فایل را برای خواندن و نوشتن باز می کند اما اگر فایل وجود نداشته باشد پیغام خطا می دهد. همین برنامه را با  " w" نوشته و اجرا می کنیم. این روش اگر فایل وجود نداشته باشد آن را ایجاد می کند. پس خروجی برنامه ما پیغام "Success"  خواهد بود. حال اگر با " r" دوباره برنامه را اجرا کنیم چه اتفاقی می افتند؟
بله مجددا پیغام موفقیت آمیز نمایش می یابد چرا که اکنون دیگر فایل ایجاد شده است.

بررسی وضعیت فایل در node.js با استفاده از تابع stat

حال می خواهیم وضعیت فایل را بررسی کنیم. برای این کار از تابع stat استفاده می کنیم. به نحوه نوشتن و هجای این کلمه دقت کنید. این تابع هم شامل دو پارامتر است که اولی نام فایل و دومی تابع عملیات ماست که خود شامل دو پارامتراست، یکی برای ارو و دیگری آرایه ای است که اطلاعات وضعیت فایل را درون آن ذخیره می کنیم.

var fs= require ("fs");
fs.open('file.txt','r ', function(err,file){
      if(err) {
                 return console.log(err);
              }
     console.log("Success");
}):
fs.stat('file.txt', function(err,info){
      if(err) {
                 return console.log(err);
              }
     console.log(info);
}):

تصویر زیر خروجی این برنامه را نشان می دهد.

تابع fs.stat در node.js

خوب می بینید که چون اطلاعات file.txt وجود داشت آن را نمایش داده است.

نکته: برای استفاده از تابع stat و بررسی وضعیت فایل لازم نیست آنرا از قبل حتما باز کرده باشیم.

متدهای تابع stat در node.js

تابع stat چند متد دارد که در حال حاضر دو مورد آن را معرفی می کنیم:

  • ()isFile بررسی می کند که آیا پارامتر ورودی فایل است یا نه. خروجی این متد مقدار True  یا False است.
  • ()isDirectory بررسی می کند که آیا پارامتر ورودی دایرکتوری یا پوشه است یا نه. خروجی این متد مقدار True  یا False است.

کد زیر می تواند شما را در این زمینه راهنمایی کند.

fs.stat('file.txt', function(err,info){
      if(err) {
                 return console.log(err);
              }
     console.log(info);
     console.log("is file" info.isFile());
     console.log("is directory" info.isDirectory());
}):
@

با عضویت در خبرنامه در جریان آخرین اخبار و مطالب سایت قرار بگیرید