Node.js में किसी फ़ाइल या निर्देशिका के लिए दिए गए पथ का पता कैसे लगाएं?

Node Js Mem Kisi Fa Ila Ya Nirdesika Ke Li E Di E Ga E Patha Ka Pata Kaise Laga Em



फ़ाइल इकाई का पता लगाना विशेष रूप से महत्वपूर्ण है जब आपके एप्लिकेशन किसी फ़ाइल के प्रबंधन से निपटते हैं या उपयोगकर्ता डेटा को विशिष्ट निर्देशिकाओं में संग्रहीत करते हैं। चूँकि एकल निर्देशिकाएँ कई फ़ाइलें रख सकती हैं, इसलिए इसमें जो ऑपरेशन लागू किया जा सकता है, उसमें फ़ाइलों को किसी अन्य निर्देशिका में ले जाना या सभी मौजूदा फ़ाइलों को हटाना शामिल है।

यही बात फ़ाइल के साथ भी लागू होती है, इसके संचालन में फ़ाइल को संशोधित करना, फ़ाइल में डेटा डालना या किसी एक को हटाना शामिल हो सकता है। यदि डेवलपर निर्देशिकाओं पर फ़ाइल संचालन लागू करता है या इसके विपरीत, तो पूरा एप्लिकेशन गड़बड़ हो जाएगा।

यह आलेख इन विधियों को कवर करके यह पता लगाने के तरीकों का वर्णन करेगा कि प्रदान किया गया पथ एक फ़ाइल है या निर्देशिका:







Node.js में किसी फ़ाइल या निर्देशिका के लिए दिए गए पथ का पता कैसे लगाएं?

'द्वारा दो विधियाँ प्रदान की गई हैं एफ.एस 'मॉड्यूल अर्थात्' isDirectory() ' और ' फ़ाइल है() ” जिसका एकमात्र उद्देश्य यह जांचना है कि प्रदान किया गया पथ किसी फ़ाइल या निर्देशिका की ओर जाता है या नहीं। इन विधियों का उपयोग सिंक्रोनस और एसिंक्रोनस दोनों परिदृश्यों में किया जाता है। स्टेटसिंक() ' और ' स्टेट() 'तरीके। यह पता लगाने के लिए कि प्रदान किया गया पथ किसी फ़ाइल या निर्देशिका की ओर जाता है या नहीं, ये दो विधियाँ नीचे प्रदर्शित की गई हैं।



विधि 1: निर्देशिका या फ़ाइल की ओर जाने वाले पथ का पता लगाने के लिए 'statSync()' विधि

स्टेटसिंक() 'विधि द्वारा प्रदान की गई “ एफ.एस ' मापांक मूल रूप से सिंक्रोनस ऑपरेशन करने के लिए उपयोग किया जाता है। हमारे मामले में यह विधि, दिए गए पथ के उदाहरण को केवल एक बार संग्रहीत करती है। फिर, यह 'असाइन करता है' isDirectory() ' और ' फ़ाइल है() निर्दिष्ट पथ किसी निर्देशिका या फ़ाइल की ओर जाता है या नहीं, यह वापस करने की विधियाँ।



आइए 'statSync()' पद्धति के व्यावहारिक कार्यान्वयन के लिए नीचे दिए गए कोड स्निपेट पर जाएँ:





कॉन्स्ट fsObj = ज़रूरत होना ( 'एफएस' ) ;

चलो pathFile = fsObj. statSync ( '/Users/kahou/Documents/readlineProj/mcu.db' ) ;

सांत्वना देना। लकड़ी का लट्ठा ( 'क्या पथ किसी फ़ाइल की ओर ले जाता है? ' + पथफ़ाइल. फ़ाइल है ( ) ) ;

पथदिर = fsObj. statSync ( '/उपयोगकर्ता/कहौ/दस्तावेज़/रीडलाइनप्रोज' ) ;

सांत्वना देना। लकड़ी का लट्ठा ( 'क्या पथ किसी निर्देशिका की ओर ले जाता है? ' + पथदिर. निर्देशिका है ( ) ) ;

ऊपर दिए गए कोड का स्पष्टीकरण नीचे दिया गया है:

  • सबसे पहले, 'आयात करें' एफ.एस 'मॉड्यूल और इसके उदाहरण को' में संग्रहीत करें fsObj ' चर।
  • फिर, 'आह्वान करें स्टेटसिंक() 'विधि' का उपयोग कर fsObj 'परिवर्तनीय करें और चयनित पथ को उसके कोष्ठक के अंदर पास करें। इस पथ का संदर्भ 'के अंदर संग्रहीत करें पथफ़ाइल ' चर।
  • इसके बाद, “असाइन करें” फ़ाइल है() 'विधि' के साथ पथफ़ाइल 'एक बूलियन मान लौटाने के लिए जो दिखाएगा कि प्रदान किया गया पथ किसी फ़ाइल की ओर जाता है या नहीं।
  • उसके बाद, फिर से 'आह्वान करें' स्टेटसिंक() ”विधि और नए रास्ते से गुजरें।
  • अंत में, 'संलग्न करें isDirectory() ' द्वारा लौटाए गए मान के साथ विधि प्रारंभसिंक() ' तरीका।

अब, नीचे दिए गए आदेश का उपयोग करके वर्तमान फ़ाइल को निष्पादित करें:



'नोड <फ़ाइलनाम>'

उदाहरण के लिए, हमने 'app.js' फ़ाइल निष्पादित की है:

आउटपुट ' का मान दिखाता है सत्य ' लौटाया गया है इसका मतलब है कि दिए गए पथ फ़ोल्डर के लिए हैं और फ़ाइल का पता लगा लिया गया है।

विधि 2: निर्देशिका या फ़ाइल की ओर जाने वाले पथ का पता लगाने के लिए 'स्टेट ()' विधि

एक अन्य विधि जो अतुल्यकालिक वातावरण के लिए पूरी तरह से काम करती है उसे '' के रूप में जाना जाता है। स्टेट() 'विधि जो' द्वारा प्रदान की गई है एफ.एस ' मापांक। यह भी उसी का उपयोग करता है' फ़ाइल है() ' और ' isDirectory() 'विधियाँ लेकिन इसकी अतुल्यकालिक प्रकृति के कारण, एकल पथ को दोनों विधियों में पारित किया जा सकता है। इसके दो पैरामीटर हैं पहला स्टोर पथ और दूसरा कॉलबैक फ़ंक्शन जो दिए गए पथ पर कुछ ऑपरेशन करता है:

कॉन्स्ट fsObj = ज़रूरत होना ( 'एफएस' ) ,
testPath = '/उपयोगकर्ता/कहौ/दस्तावेज़/रीडलाइनप्रोज'

// स्टेट() विधि का उपयोग करें
fsObj. स्टेट ( testPath , ( गलती , statObj ) => {
अगर ( ! गलती ) {
अगर ( statObj. फ़ाइल है ( ) ) {
सांत्वना देना। लकड़ी का लट्ठा ( ' \एन हाँ! क्या पथ किसी फ़ाइल की ओर ले जाता है? ' ) ;
}
अन्य अगर ( statObj. निर्देशिका है ( ) ) {
सांत्वना देना। लकड़ी का लट्ठा ( ' \एन हाँ! क्या पथ किसी निर्देशिका की ओर ले जाता है? ' ) ;
}
}
अन्य
फेंक गलती ;
} ) ;

ऊपर दिए गए कोड का स्पष्टीकरण नीचे दिखाया गया है:

  • सबसे पहले, 'आयात करें' एफ.एस 'मॉड्यूल और इसके उदाहरण को' में संग्रहीत करें fsObj ' चर। एक बनाने के ' testPath ” वेरिएबल जो परीक्षक द्वारा प्रदत्त पथ को संग्रहीत करता है।
  • अब, आह्वान करें ' स्टेट() 'विधि और पास करें' testPath पहले पैरामीटर के रूप में और दूसरे पैरामीटर के रूप में कॉलबैक फ़ंक्शन।
  • कॉलबैक फ़ंक्शन में शामिल है ' गलती 'पहले पैरामीटर के रूप में और' statObj ” दूसरे के रूप में। “ गलती '' में निष्पादन के दौरान उत्पन्न होने वाली त्रुटियां शामिल हैं और ''startObj'' में प्रदान किया गया पथ है।
  • फ़ंक्शन के अंदर, 'का उपयोग करें अगर 'यदि कोई त्रुटि नहीं पाई जाती है तो कथन चलता है।
  • नेस्टेड यदि 'कथनों का उपयोग' निर्दिष्ट करने के लिए किया जाता है फ़ाइल है() ' और ' isDirectory() 'के साथ तरीके' statObj ”।
  • यदि विधियाँ वापस आती हैं' सत्य तभी वह अनुभाग निष्पादित होता है और तदनुसार सफलता संदेश प्रदर्शित करता है।

उपरोक्त स्क्रिप्ट को निष्पादित करने के बाद, टर्मिनल इस तरह दिखाई देता है:

जैसा कि आप देख सकते हैं कि प्रदान किया गया पथ अब पता चला है और पुष्टि करता है कि प्रदान किया गया पथ एक निर्देशिका की ओर जाता है।

निष्कर्ष

यह पता लगाने के लिए कि क्या प्रदान किया गया पथ NodeJs में किसी निर्देशिका या फ़ाइल का पथ है, 'की विधियाँ फ़ाइल है() ' और ' निर्देशिका है ' उपयोग किया जाता है। इन विधियों द्वारा पहुंच योग्य पथ 'द्वारा प्रदान किए जाते हैं' स्टेटसिंक() ' और ' स्टेट() 'के तरीके' एफ.एस 'नोडजेएस मॉड्यूल। ये विधियाँ प्रदान किए गए पथों को क्रमशः सिंक्रोनस और एसिंक्रोनस तरीके से संग्रहीत करती हैं। इस ब्लॉग में यह पता लगाने की प्रक्रिया बताई गई है कि प्रदान किया गया पथ NodeJS में किसी फ़ाइल या निर्देशिका की ओर जाता है या नहीं।