Node.js میں قابل تحریر اسٹریمز کے ساتھ کیسے کام کیا جائے؟

Node Js My Qabl Thryr As Rymz K Sat Kys Kam Kya Jay



ڈیٹا کو نیٹ ورک پر منبع اور منزل کے مقامات کے درمیان اسٹریمز کی شکل میں منتقل کیا جاتا ہے۔ بھیجنے والے کی طرف کو ذریعہ کہا جاتا ہے اور وصول کنندہ کی طرف کو منزل کے سلسلے کے طور پر پیش کیا جاتا ہے۔ ان اسٹریمز کا استعمال کرتے ہوئے، ڈیٹا کو متنی شکل میں یا آڈیو یا ویڈیو فارمیٹ میں ڈیٹا کے رساو یا نقصان کے کم سے کم امکانات کے ساتھ بھیجا اور وصول کیا جا سکتا ہے۔

یہ گائیڈ Node.js میں قابل تحریر اسٹریمز کے ساتھ کام کرنے کی وضاحت کرتا ہے۔

Node.js میں قابل تحریر اسٹریمز کے ساتھ کیسے کام کیا جائے؟

' لکھنے کے قابل ' سٹریم فائل میں نیا ڈیٹا داخل کرنے کے لیے استعمال کیا جا سکتا ہے یا کسی اور بے ترتیب سٹریم کا مواد رکھ سکتا ہے۔ ڈیٹا کی تبدیلی یا جگہ کا تعین زیادہ تر 'کی مدد سے ہوتا ہے۔ پائپ () 'طریقہ. یہ طریقہ ڈیٹا کے تصادم کے امکانات کو کم کرتے ہوئے مواد کو تبدیل کرنے اور تفویض کرنے کے عمل کو زیادہ آسان بناتا ہے۔







نحو



قابل تحریر سلسلہ درج ذیل طریقہ کو استعمال کرکے بنایا گیا ہے۔



fs رائٹ اسٹریم بنائیں ( 'targetFile.ext' ) ;

مندرجہ بالا نحو میں، ' creatWriteStream() 'درآمد شدہ چیز کے ذریعہ پکارا جاتا ہے' fs ” ماڈیول، اور جس فائل پر ڈیٹا لکھا جا رہا ہے اسے پیرامیٹر کے طور پر پاس کیا جاتا ہے۔





آئیے Node.js میں قابل تحریر اسٹریمز کے لیے چند مثالوں پر ایک نظر ڈالتے ہیں۔

مثال 1: قابل تحریر سٹریم کا استعمال کرتے ہوئے کسی اور فائل کا مواد لکھنا

نیچے دی گئی مثال میں، بے ترتیب فائل کو پڑھنے کے قابل سٹریم پر بھیجا جاتا ہے، اور پھر اس فائل کے مواد کو قابل تحریر سٹریم پر دستیاب دوسری فائل میں رکھا جاتا ہے:



fsObj تھا۔ = ضرورت ہے ( 'fs' ) ;

const ڈیٹا اسٹریم = fsObj ریڈ اسٹریم بنائیں ( 'mynewfile1.txt' ) ;

const رائٹ اسٹریم = fsObj رائٹ اسٹریم بنائیں ( 'mynewfile2.txt' ) ;

ڈیٹا اسٹریم۔ پائپ ( رائٹ اسٹریم ) ;

مندرجہ بالا کوڈ کی تفصیل:

  • سب سے پہلے، ' fs 'ماڈیول درآمد کیا جاتا ہے اور اس کی آبجیکٹ کو نئے میں محفوظ کیا جاتا ہے' fsObj متغیر
  • اگلا، کی مدد سے ' fasObj 'دعوت کریں' CreateReadStream() پڑھنے کے قابل سلسلہ بنانے کا طریقہ اور منتخب پڑھنے کے قابل فائل کو اس کے پیرامیٹر کے طور پر پاس کریں۔
  • اس کے بعد، لکھنے کے قابل سلسلہ 'کو پکار کر بنایا جاتا ہے createWriteStream() فراہم کردہ فائل پر مواد لکھنے کا طریقہ۔
  • مذکورہ بالا طریقوں کے نتائج کو ' ڈیٹا اسٹریم 'اور' رائٹ اسٹریم 'متغیرات بالترتیب۔
  • آخر میں، 'دعوت کریں. پائپ () 'طریقہ کے بعد' ڈیٹا اسٹریم 'اور' کے ساتھ قیادت رائٹ اسٹریم متغیرات

اب، مندرجہ ذیل کمانڈ کو چلا کر مشتمل فائل (controlFlow.js) پر عمل کریں:

مثال 2: 'stream.write()' طریقہ استعمال کرتے ہوئے فائل میں مواد لکھنا

اس مثال میں، ' لکھیں() ' کا طریقہ رائٹ ایبل اسٹریم پر دستیاب فائل پر ڈیٹا لکھنے کے لیے استعمال کیا جاتا ہے:

fsObj تھا۔ = ضرورت ہے ( 'fs' ) ;
const httpObj = ضرورت ہے ( 'http' ) ;

const مقامی طور پر سرو کریں۔ = httpObj تخلیق سرور ( ( درخواست، جواب ) => {
کوشش کریں {
const سیل اسٹریم = fsObj رائٹ اسٹریم بنائیں ( 'mynewfile2.txt' ) ;
سیل اسٹریم لکھنا ( 'ٹارگٹڈ فائل میں ڈیٹا ڈالنا ہے۔' ) ;
سیل اسٹریم اختتام ( ) ;
جواب. اختتام ( 'ڈیٹا رائٹ ایبل اسٹریم کے ذریعے لکھا گیا' )
}
پکڑنا ( غلطی ) {
تسلی. غلطی ( غلطی ) ;
}
} ) ;
مقامی طور پر سرو کریں۔ سنو ( 8080 , ( ) => {
تسلی. لاگ ( 'سرور لوکل ہوسٹ پورٹ نمبر پر چل رہا ہے: '8080'' )
) ;

مندرجہ بالا کوڈ کی تفصیل اس طرح ہے:

  • سب سے پہلے، مطلوبہ درآمد کریں fs 'اور' http 'ماڈیولز اور ان کی اشیاء کو اسٹور کریں' fsObj 'اور' httpObj 'متغیرات بالترتیب۔
  • اگلا، سرور کو 'دعوت' کے ذریعے بنایا گیا ہے۔ تخلیق سرور() 'طریقہ اور اس نئے تخلیق کردہ سرور کو ایک میں ذخیرہ کرنا' مقامی طور پر سرو کریں۔ متغیر
  • پھر، استعمال کریں ' کوشش کریں 'میتھڈ کال بیک فنکشن کے اندر بلاک کریں اور انکو کریں' createWriteStream() 'کا استعمال کرتے ہوئے طریقہ' fsObj متغیر
  • ٹارگٹڈ فائل کو پاس کریں جس پر مواد کو داخل کرنے کی ضرورت ہے، اس طریقے کے قوسین کے اندر اور نتیجہ کو ' سیل اسٹریم متغیر
  • استعمال کریں ' لکھیں() اس متغیر کے ساتھ طریقہ اور اس کے قوسین کے اندر ایک ڈمی پیغام پاس کریں جو ٹارگٹ فائل میں لکھا جائے گا۔
  • ' کو پکار کر سلسلہ بند کریں اختتام() 'طریقہ اور ویب صفحہ پر کامیابی کا پیغام ڈسپلے کریں' response.end() 'طریقہ. کہاں ' جواب 'کال بیک پیرامیٹر ہے' تخلیق سرور 'طریقہ.
  • استعمال کریں ' پکڑنا کسی بھی خرابی کو سنبھالنے کے لئے بلاک کریں۔
  • آخر میں، پورٹ نمبر پر سرور کو سنیں یا سیٹ اپ کریں۔ 8080 اور اس کے کال بیک فنکشن کی مدد سے کامیابی کا پیغام ڈسپلے کریں۔

تیار کردہ آؤٹ پٹ سے پتہ چلتا ہے کہ فراہم کردہ متن کو استعمال کرتے ہوئے لکھا گیا ہے۔ لکھیں() طریقہ:

مثال 3: ایک سے زیادہ فائلوں پر ایک ہی ڈیٹا لکھنا

اس مثال میں، 'کا استعمال کرتے ہوئے ندی سے ایک فائل پڑھی جائے گی۔ CreateReadStream() 'طریقہ. پھر، پڑھا ہوا مواد ایک سے زیادہ فائلوں پر لکھا جاتا ہے ' createWriteStream() 'اور' پائپ() 'طریقے:

fsObj تھا۔ = ضرورت ہے ( 'fs' ) ;

const ڈیٹا اسٹریم = fsObj ریڈ اسٹریم بنائیں ( 'mynewfile1.txt' ) ;

const رائٹ اسٹریم 1 = fsObj رائٹ اسٹریم بنائیں ( 'mynewfile2.txt' ) ;

const writeStream2 = fsObj رائٹ اسٹریم بنائیں ( 'usecase.txt' ) ;

ڈیٹا اسٹریم۔ پائپ ( رائٹ اسٹریم 1 ) ;

ڈیٹا اسٹریم۔ پائپ ( writeStream2 ) ;

مندرجہ بالا کوڈ کے ٹکڑوں میں:

  • ' CreateReadStream() ” طریقہ استعمال کیا جاتا ہے اور جس فائل کو پڑھنے کی ضرورت ہوتی ہے اسے اس کے پیرامیٹر کے طور پر پاس کیا جاتا ہے۔ اس طریقہ کار کا نتیجہ ' ڈیٹا اسٹریم متغیر
  • اگلا، ' createWriteStream() ' طریقہ کہا جاتا ہے اور ہدف شدہ فائل کو اس کے پیرامیٹر کے طور پر پاس کیا جاتا ہے۔
  • اسی طرح، دوسری فائل کا راستہ بھی قابل تحریری سلسلہ کے طور پر گزر جاتا ہے اور نتائج کو 'میں محفوظ کیا جاتا ہے۔ رائٹ اسٹریم 1 'اور' writeStream2 متغیرات
  • اس کے بعد، استعمال کرتے ہوئے ' پائپ() 'میں ذخیرہ شدہ مواد کا طریقہ' ڈیٹا اسٹریم متغیر کو تفویض کیا گیا ہے رائٹ اسٹریم 1 'اور' writeStream2 متغیرات

تیار کردہ آؤٹ پٹ سے پتہ چلتا ہے کہ فراہم کردہ فائل کا مواد اسٹریمز پر فراہم کردہ فائلوں میں داخل کیا گیا ہے:

یہ سب Node.js میں قابل تحریر اسٹریمز کے کام کے بارے میں ہے۔

نتیجہ

قابل تحریر اسٹریمز کے ساتھ کام کرنے کے لیے، طریقہ ' createWriteStream() 'کے ذریعے پکارا جاتا ہے' fs 'ماڈیول آبجیکٹ۔ ہدف شدہ فائل کا راستہ جس پر مواد کو لکھنے کی ضرورت ہے اس کے پیرامیٹر کے طور پر پاس کیا جاتا ہے۔ کسی اور سلسلے سے مواد لکھنے کے لیے ' پائپ() طریقہ استعمال کیا جاتا ہے۔ ' لکھیں() جب ٹارگٹ فائل پر براہ راست مواد لکھنے کی بات آتی ہے تو طریقہ بھی مددگار ہوتا ہے۔ اس پوسٹ نے قابل تحریر اسٹریمز کے ساتھ کام کرنے کے طریقہ کار کو واضح کیا ہے۔