Node.js میں فراہم کردہ پاتھ فائل یا ڈائرکٹری کا پتہ کیسے لگائیں؟

Node Js My Fra M Krd Pat Fayl Ya Ayrk Ry Ka Pt Kys Lgayy



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

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

یہ مضمون ان طریقوں کا احاطہ کرکے پتہ لگانے کے طریقوں کی وضاحت کرے گا کہ آیا فراہم کردہ راستہ فائل ہے یا ڈائریکٹری:







Node.js میں فراہم کردہ پاتھ فائل یا ڈائرکٹری کا پتہ کیسے لگایا جائے؟

کے ذریعہ فراہم کردہ دو طریقے ہیں ' fs 'ماڈیول یعنی' isDirectory() 'اور' isFile() جس کا واحد مقصد یہ جانچنا ہے کہ آیا فراہم کردہ راستہ فائل یا ڈائریکٹری کی طرف جاتا ہے۔ یہ طریقے ہم وقت ساز اور غیر مطابقت پذیر دونوں صورتوں میں استعمال ہوتے ہیں statSync() 'اور' stat() 'طریقے. یہ دونوں طریقے ذیل میں دکھائے گئے ہیں تاکہ یہ معلوم کیا جا سکے کہ آیا فراہم کردہ راستہ فائل یا ڈائریکٹری کی طرف جاتا ہے۔



طریقہ 1: ڈائرکٹری یا فائل کی طرف جانے والے راستے کا پتہ لگانے کا 'statSync()' طریقہ

' statSync() کے ذریعہ فراہم کردہ طریقہ ' fs 'ماڈیول بنیادی طور پر ہم وقت ساز کارروائیوں کو انجام دینے کے لیے استعمال کیا جاتا ہے۔ ہمارے معاملے میں یہ طریقہ فراہم کردہ راستے کی مثال کو صرف ایک بار اسٹور کرتا ہے۔ پھر، یہ تفویض کرتا ہے ' isDirectory() 'اور' isFile() واپس کرنے کے طریقے کہ آیا مخصوص راستہ ڈائریکٹری یا فائل کی طرف جاتا ہے۔



آئیے 'statSync()' طریقہ کار کے عملی نفاذ کے لیے ذیل کے کوڈ کا ٹکڑا دیکھیں:





const fsObj = ضرورت ہے ( 'fs' ) ;

pathFile دو = fsObj statSync ( '/Users/kahou/Documents/readlineProj/mcu.db' ) ;

تسلی. لاگ ( 'کیا پاتھ لیڈز فائل کو فراہم کیا جاتا ہے؟ ' + pathFile. isFile ( ) ) ;

pathDir = fsObj statSync ( '/Users/kahou/Documents/readlineProj' ) ;

تسلی. لاگ ( 'کیا فراہم کردہ پاتھ لیڈز ڈائرکٹری کی طرف؟ ' + pathDir isDirectory ( ) ) ;

مندرجہ بالا فراہم کردہ کوڈ کی وضاحت ذیل میں بیان کی گئی ہے:

  • سب سے پہلے، درآمد کریں ' fs 'ماڈیول اور اس کی مثال کو ایک میں محفوظ کریں' fsObj متغیر
  • پھر، 'دعوت کریں statSync() 'کا استعمال کرتے ہوئے طریقہ' fsObj متغیر کریں اور منتخب کردہ راستے کو اس کے قوسین کے اندر منتقل کریں۔ اس راستے کے حوالہ کو اندر رکھیں ' pathFile متغیر
  • اگلا، تفویض کریں ' isFile() 'کے ساتھ طریقہ' pathFile بولین ویلیو واپس کرنے کے لیے جو یہ دکھائے گا کہ آیا فراہم کردہ راستہ فائل کی طرف جاتا ہے یا نہیں۔
  • اس کے بعد دوبارہ ' statSync() 'طریقہ اور نیا راستہ پاس کریں۔
  • آخر میں، منسلک کریں ' isDirectory() 'طریقہ جس قدر کے ذریعہ واپس کیا گیا ہے' startSync() 'طریقہ.

اب، مندرجہ ذیل کمانڈ کا استعمال کرتے ہوئے موجودہ فائل کو انجام دیں:



'نوڈ '

مثال کے طور پر، ہم نے 'app.js' فائل کو عمل میں لایا ہے:

آؤٹ پٹ 'کی قدر دکھاتا ہے سچ 'واپس آنے کا مطلب ہے کہ فراہم کردہ راستے فولڈر کے لیے ہیں اور فائل کا پتہ چلا ہے۔

طریقہ 2: ڈائرکٹری یا فائل کی طرف جانے والے راستے کا پتہ لگانے کا 'stat()' طریقہ

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

const fsObj = ضرورت ہے ( 'fs' ) ,
ٹیسٹ پاتھ = '/Users/kahou/Documents/readlineProj'

// stat() طریقہ استعمال کریں۔
fsObj اسٹیٹ ( ٹیسٹ پاتھ , ( غلطی , statObj ) => {
اگر ( ! غلطی ) {
اگر ( statObj. isFile ( ) ) {
تسلی. لاگ ( ' \n جی ہاں! فراہم کردہ راستہ فائل کی طرف جاتا ہے؟ ' ) ;
}
اور اگر ( statObj. isDirectory ( ) ) {
تسلی. لاگ ( ' \n جی ہاں! فراہم کردہ راستہ ڈائرکٹری کی طرف جاتا ہے؟ ' ) ;
}
}
اور
پھینکنا غلطی ;
} ) ;

اوپر فراہم کردہ کوڈ کی وضاحت ذیل میں دکھائی گئی ہے:

  • سب سے پہلے، درآمد کریں ' fs 'ماڈیول اور اس کی مثال کو ایک میں محفوظ کریں' fsObj متغیر بنائیے ایک ' ٹیسٹ پاتھ متغیر جو ٹیسٹر کے ذریعہ فراہم کردہ راستے کو اسٹور کرتا ہے۔
  • اب، پکاریں ' stat() 'طریقہ اور پاس کریں' ٹیسٹ پاتھ ” پہلے پیرامیٹر کے طور پر اور کال بیک فنکشن دوسرے پیرامیٹر کے طور پر۔
  • کال بیک فنکشن پر مشتمل ہے ' غلطی 'پہلے پیرامیٹر کے طور پر اور' statObj 'دوسرے کے طور پر. ' غلطی ' میں ایسی خرابیاں شامل ہیں جو عمل درآمد کے دوران پیدا ہوتی ہیں اور 'startObj' کے پاس فراہم کردہ راستہ ہے۔
  • فنکشن کے اندر، استعمال کریں ' اگر ” بیان جو چلتا ہے اگر کوئی غلطی نہیں پائی جاتی ہے۔
  • ' nested if 'بیانات کو تفویض کرنے کے لئے استعمال کیا جاتا ہے' isFile() 'اور' isDirectory() 'کے ساتھ طریقے' statObj '
  • اگر طریقے واپس آتے ہیں ' سچ صرف تب ہی وہ سیکشن عمل میں آتا ہے اور اس کے مطابق کامیابی کے پیغامات دکھاتا ہے۔

مندرجہ بالا اسکرپٹ پر عمل کرنے کے بعد، ٹرمینل اس طرح ظاہر ہوتا ہے:

جیسا کہ آپ دیکھ سکتے ہیں کہ فراہم کردہ راستے کا اب پتہ چلا ہے اور فراہم کردہ راستے کی تصدیق کرتا ہے کہ ڈائریکٹری کی طرف جاتا ہے۔

نتیجہ

یہ معلوم کرنے کے لیے کہ آیا فراہم کردہ راستہ NodeJs میں کسی ڈائریکٹری یا فائل کا راستہ ہے، 'کے طریقے isFile() 'اور' isDirectory 'استعمال کیا جاتا ہے۔ جو راستے ان طریقوں سے قابل رسائی ہیں وہ ' statSync() 'اور' stat() 'طریقے' fs نوڈ جے ماڈیول۔ یہ طریقے فراہم کردہ راستوں کو بالترتیب مطابقت پذیر اور متضاد انداز میں محفوظ کرتے ہیں۔ اس بلاگ نے یہ معلوم کرنے کے طریقہ کار کی وضاحت کی ہے کہ آیا فراہم کردہ راستہ NodeJS میں فائل یا ڈائریکٹری کی طرف جاتا ہے۔