فایل در node.js

فایل در node.js

ماژول fs یا file system مدیریت فایلها رو بر عهده داره این ماژول قدرتمند مسئول تمام عملیات همزمان و غیر همزمان فایل ها است. بیایید برخی از نمونه های معمول I/O را با استفاده از fs module ببینیم.

در نود جی اس، بسته به الزامات کاربر، متدهای ورودی/خروجی فایل در دوحالت ناهمزمان و همزمان شکل می‌گیرند. به‌منظور استفاده از این قابلیت‌ها بایستی به شکل زیر ماژول fs را با دستور require بکار بگیریم:

با این کار، اکنون قادرخواهیم بود به شرحی که در ادامه خواهید دید تمامی اعمال مدیریت فایل‌ها را، شامل خواندن، نوشتن، افزودن به محتوای فایل و حذف فایل، به دوروش همزمان و ناهمزمان انجام دهید.

خواندن فایل در ند جی اس:

یک فایل متنی به نام input.txt با محتوای زیر ایجاد کنید:

سپس یک فایل js با نام main.js با کد زیر ایجاد کنیم:

برای دیدن نتیجه، main.js را طبق کد زیر اجرا کنید:

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

باز کردن(open) یک فایل:

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

  • path : یک رشته شامل نام فایل که به آدرس فایل اشاره دارد.
  • flags : حروف و علامات اختصاری که نحوه باز شدن و دسترسی به فایل را تعیین میکند.
  • mode : حالت فقط خواندن یا فقط نوشتن یا هر دو را ست میکند که به طور پیش فرض بر روی ۰۶۶۶ (خواندن و نوشتن) ست شده است.
  • callback یک تابع با دو پارامتر err و fd. این عمل هنگام فراخوانی فایل انجام می شود.

 

Flag شرح
r فایل را برای خواندن باز کنید.
+r فایل را برای خواندن و نوشتن باز کنید.
rs فایل را برای خواندن در حالت همگام باز کنید.
+rs فایل را برای خواندن و نوشتن در حالت همزمان باز کنید.
w فایل را برای نوشتن باز کنید. فایل ایجاد شود (اگر وجود ندارد) یا کوتاه و فشرده شود (اگر وجود داشته باشد).
wx مانند ‘w’ اما اگر فایل وجود نداشته باشد خطا رخ میدهد.
+w فایل را برای نوشتن و خواندن باز کنید. فایل ایجاد شود (اگر وجود ندارد) یا کوتاه و فشرده شود (اگر وجود داشته باشد).
+wx مانند ‘+w’ اما اگر فایل وجود نداشته باشد خطا رخ میدهد.
a فایل را برای افزودن(چسپاندن) باز کنید این فایل ایجاد می شود اگر وجود ندارد.
ax مانند ‘a’ اما اگر فایل وجود نداشته باشد خطا رخ میدهد.
+a فایل را برای خواندن و اضافه کردن باز کنید. این فایل ایجاد می شود اگر وجود ندارد.
+ax مانند ‘+a’ اما اگر فایل وجود نداشته باشد خطا رخ میدهد.

مثال:

اجازه دهید یک فایل js با نام main.js با کد زیر ایجاد کنیم تا فایل input.txt را برای خواندن و نوشتن باز کنیم.

برای دیدن نتیجه، main.js را اجرا کنید.

نتیجه خروجی:

دریافت اطلاعات فایل:

سینتکس دریافت اطلاعات همانند زیر می باشد.

در زیر شرح پارامترهای مورد استفاده قرار گرفته است .

path: این رشته شامل نام و آدرس فایل است.

callback: این تابع فراخوانی است که دو آرگومان (err, stats) را دریافت می کند. در زیر به چند مورد از ویژگی ها و متدهای کلاس fs.Stats اشاره می کنیم.

متد شرح
()stats.isFile اگر نوع فایل یک فایل ساده باشد. true را بر میگرداند.
()stats.isDirectory اگر نوع فایل یک دایرکتوری باشد true را بر میگرداند.
()stats.isBlockDevice اگر نوع فایل block device باشد true برگشت داده میشود.
()stats.isSymbolicLink اگر نوع فایل لینک ارجاعی باشد true برگشت داده میشود.
()stats.isFIFO اگر نوع فایل  FIFO باشد true برگشت میخورد.

مثال: 

اجازه دهید یک فایل js با نام main.js با کد زیر ایجاد کنیم.

برای دیدن نتیجه، main.js را اجرا کنید. تا نتیجه مانند عکس زیر در صفحه Command به نمایش درآید.

باز کردن(open) یک فایل در node

ایجاد و نوشتن در فایل:

در زیر سینتکس و نحوه نوشتن در فایل در نود جی اس را مشاهده می کنید:

برای نوشتن یک فایل یا ویرایش فایلی که از قبل وجود داشته از متد ()fs.writeFile استفاده کنید. در ادامه شرحی کوتاه ه خواهیم داشت بر پارامترهای اشاره شده در بالا.

  • path : یک رشته که آدرس فایل مورد نظر در آن ذخیره شده است.
  • data : محتویات فایل مورد نظر در این بخش نوشته میشود.
  • options : این مورد میتواند شامل حالات نوشتن و انکدینگ های نوشتاری باشد. انکدینگ پیشفرض utf8 و حالت پبشفرض ‘w’ است.
  • callback : تابعی با دو پارامتر err و fd. این تابع هنگام اجرای عملیات فراخوانی می شود. و در صورت بروز خطا آن را در خروجی گزارش می دهد.

مثال:

اجازه دهید یک فایل js با نام main.js با کد زیر ایجاد کنیم.

برای دیدن نتیجه، main.js را اجرا کنید. خروجی شما باید همانند زیر باشد:

بستن(Closing) فایل:

در زیر نحوه و سینتکس بستن فایل در نود جی اس شرح داده شده است:

شرح پارامترهای اشاره شده در ادامه آمده است:

  • fd: این توصیفگر فایل است که از تابع ()fs.open برگشت داده شده است.
  • callback: این تابع فراخوانی است که در صورت بروز خطا آن را گزارش می دهد.

مثال:

اجازه دهید یک فایل js با نام main.js با کد زیر ایجاد کنیم.

حالا فایل main.js را اجرا کنید تا نتیجه را مانند زیر مشاهده کنید:

 

حذف فایل:

در زیر نحوه و سینتکس حذف فایل در node.js آمده است:

در ادامه شرح پارامترهای مورد استفاده قرار گرفته است.

path: این رشته به آدرس فایل مدنظر اشاره دارد.

callback: این تابع فراخوانی است که در صورت بروز خطا آنرا در خروجی گزارش می دهد.

مثال:

اجازه دهید یک فایل js با نام main.js با کد زیر ایجاد کنیم.

حال فایل main.js را اجرا کنید تا خروجی را مانند زیر مشاهده کنید: