Writing یا نوشتن در فایلها در Node.js



visibility  
mode_comment   ۲

Writing یا نوشتن در فایلها در Node.js

در این مطلب میخوایم یاد بگیریم که چطور میتونیم در Node.js متن مورد نظرمون رو در فایل قرار بدیم و به اصطلاح Writing یا نوشتن در فایلها رو مدیریت کنیم.

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

همونطور که میدونین ماژولهایی هستن که متعلق به Node.js هستن و همون موقع که Node رو نصب میکنید بر روی سیستم شما قرار میگیرن و میتونین از اونا استفاده کنید. مثلا ماژولهای fs یا path یا ... جزء این دسته از ماژولها قرار میگیرن.

هر کدوم از این ماژولها کار خاصی رو انجام میدن. مثلا ماژول fs یا file system مدیریت فایلها رو بر عهده داره و با استفاده از متدهای متنوع و قدرتمندی که در اختیارتون قرار میده، میتونین به راحتی فایلهای مختلف رو مدیریت کنید.

ما در این مطلب از همین ماژول fs برای نوشتن یا writing در فایلها استفاده میکنیم. ماژول fs یک متد بنام writeFile داره که به صورت Asynchronous اطلاعات مورد نظرتون رو در فایل مینویسه و قرار میده. وقتی میگیم که یک دستور Asynchronous هست به این معنی هست که جلوی اجرای برنامه رو نمیگیره و دستورات بعد از اون انجام میشن و وقتی که کار اون تموم شد، Callback تعریف شده رو فراخوانی میکنه و متوجه میشیم که Writing انجام شده است. کد زیر رو ببینید:

همونطور که میبینید در ابتدا ماژول fs رو در فایل import کردیم. یک متغیر بنام lyrics ساختیم و متن مورد نظر برای بازنویسی رو در اون قرار دادیم. در خط 8 از متد writeFile استفاده کردیم. در بالا سه آرگومان رو به متد writeFile پاس دادیم که اولی نام و مسیر فایل مورد نظر و دومی اطلاعات مورد نظر برای بازنویسی و سومی هم Callback مورد نظر هست که در زمان اتمام کار یا در زمان ارور فراخوانی میشه و کارهای مورد نظر انجام میشه.

شما میتونین به راحتی encoding فایل هم با این متد مشخص کنید. بصورت زیر:

همونطور که دیدید به عنوان آرگومان سوم ascii رو پاس دادیم و encoding فایل مورد نظر رو مشخص کردیم. encoding های متداولی که استفاده میشه 'utf8', 'ascii', 'binary', 'hex', 'base64' ,'utf16le' هستن.

more  بیشتر بخوانید : ترفندهای پیشرفته jQuery (قسمت 18)

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

متد writeFile هم همانند بیشتر متدهای دیگه یک نمونه Synchronous بنام writeFileSync داره که اجرای برنامه رو متوقف میکنه و تا زمانی که کارش به پایان نرسه، به خط بعدی نمیره. استفاده از این متد بصورت زیر هست:

همونطور که میبینید تنها فرقشون اینه که در بالا از callback استفاده نشده است. (Callback فقط مخصوص دستورات Asynchronous هست چون نمیدونیم که چه زمانی کار اونا تموم میشه و با استفاده از Callback میتونیم اون رو مدیریت کنیم)

به همین راحتی.

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

comment دیدگاه کاربران

سلام.
اول بابت اینکه کامنتم به مطلب ربطی ندارره عذرخواهی میکنم ولی یه سوال توی ذهنم هست که برای پرسیدنش روشی بجز کامنت گذاشتن پیدا نکردم
سوالم اینه شما تخصص تون چی هست و به چه زبان هایی تسلط دارید؟
اگر امکانش هست یه راه ارتباطی معرفی کنید تا اگر امکانش بود با شما در ارتباط باشیم

محمد اسفندیاری

سلام
میتونین ایمیل بزنید
m.esfandiary72@gmail.com

نیاز به لاگین

برای ارسال دیدگاه و یا پرسیدن سوال خود در این قسمت، باید در سایت لاگین شوید.