यह मार्गदर्शिका Node.js में पठनीय स्ट्रीम के उपयोग की व्याख्या करेगी।
Node.js में पठनीय स्ट्रीम का उपयोग कैसे करें?
“ पठनीय 'धाराएँ' का आह्वान करके बनाई जाती हैं createReadStream() ” और पढ़ा गया डेटा स्थानीय सर्वर बनाकर वेब पेज पर प्रदर्शित किया जा सकता है। कार्यक्रम के श्रोता 'की सहायता से' पर() 'संदेश प्रदर्शित करने या फ़ाइल की रीडिंग शुरू होने या समाप्त होने पर विशिष्ट क्रियाएं करने के लिए विधियों को पठनीय स्ट्रीम से भी जोड़ा जा सकता है।
व्यावहारिक प्रदर्शन के लिए उदाहरण पर एक नज़र डालें।
उदाहरण: पठनीय स्ट्रीम का उपयोग करके सर्वर पर सामग्री को पढ़ना और प्रदर्शित करना
इस उदाहरण में, प्रदान की गई फ़ाइल की सामग्री को पढ़ा जा रहा है और फिर वेब ब्राउज़र पर प्रदर्शित किया जा रहा है:
कॉन्स्ट fsObj = ज़रूरत होना ( 'एफएस' ) ;
कॉन्स्ट httpObj = ज़रूरत होना ( 'एचटीटीपी' ) ;
कॉन्स्ट स्थानीय सर्वर = httpObj. क्रिएटसर्वर ( ( अनुरोध प्रतिक्रिया ) => {
कोशिश {
// पढ़ने के लिए लक्षित फ़ाइल
कॉन्स्ट आकड़ों का प्रवाह = fsObj. createReadStream ( 'usecase.txt' ) ;
// प्रतिक्रिया के लिए फ़ाइल को पाइप करें
आकड़ों का प्रवाह। पाइप ( प्रतिक्रिया ) ;
} पकड़ना ( त्रुटियाँ ) {
सांत्वना देना। गलती ( त्रुटियाँ ) ;
}
} ) ;
स्थानीय सर्वर. सुनना ( 8080 , ( ) => {
सांत्वना देना। लकड़ी का लट्ठा ( 'सर्वर लोकलहोस्ट पोर्ट नंबर: '8080' पर चल रहा है )
} ) ;
उपरोक्त कोड का विवरण इस प्रकार है:
- सबसे पहले, आवश्यक आयात करें' एफ.एस ' और ' एचटीटीपी 'मॉड्यूल और उनकी वस्तुओं को' में संग्रहीत करें fsObj ' और ' httpObj क्रमशः चर।
- इसके बाद, सर्वर को 'इनवॉइस' करके बनाया गया है क्रिएटसर्वर() 'इस नव निर्मित सर्वर को विधि और संग्रहीत करना' स्थानीय सर्वर ' चर।
- फिर, ' का उपयोग करें कोशिश विधि कॉलबैक फ़ंक्शन के अंदर ब्लॉक करें और 'आह्वान करें' createReadStream() 'विधि' का उपयोग कर fsObj ' चर।
- लक्षित फ़ाइल सामग्री को पास करें जिसे इस विधि कोष्ठक के अंदर पढ़ने की आवश्यकता है और परिणाम को 'में संग्रहीत करें' आकड़ों का प्रवाह ' चर।
- प्रवेश कराएं ' आकड़ों का प्रवाह 'में परिवर्तनशील' ।पाइप() 'प्रतिक्रिया भेजने की विधि.
- का उपयोग करें ' पकड़ना किसी भी त्रुटि को संभालने के लिए ब्लॉक करें।
- अंत में, पोर्ट नंबर पर सर्वर को सुनें या सेट करें ' 8080 ” और इसके कॉलबैक फ़ंक्शन की सहायता से सफलता संदेश प्रदर्शित करें।
उपरोक्त कोड की युक्त फ़ाइल (controlFlow.js) को नीचे दिए गए कमांड के माध्यम से निष्पादित करें:
नोड नियंत्रण प्रवाह. जे एसउत्पन्न आउटपुट से पता चलता है कि 'की मदद से ।पाइप() ' और ' पठनीय स्ट्रीम ”, फ़ाइल डेटा को पढ़ा गया है और वेबपेज पर प्रदर्शित करने के लिए गंतव्य स्ट्रीम पर भेजा गया है:
उदाहरण 2: रीडस्ट्रीम का उपयोग करके स्थानीय रूप से स्टेटिक फ़ाइलें पढ़ना
इस मामले में, स्ट्रीम पर प्रदान की गई फ़ाइल का चयन किया जाता है और उसकी सामग्री को इवेंट श्रोताओं की मदद से कंसोल विंडो पर प्रदर्शित किया जाता है:
कॉन्स्ट fsObj = ज़रूरत होना ( 'एफएस' ) ;कॉन्स्ट स्ट्रीमओबीजे = fsObj. createReadStream ( 'usecase.txt' ) ;
स्ट्रीमओबीजे. पर ( 'डेटा' , ( सामग्री ) => {
सांत्वना देना। लकड़ी का लट्ठा ( सामग्री। स्ट्रिंग ( ) ) ;
} ) ;
स्ट्रीमओबीजे. पर ( 'अंत' , ( ) => {
सांत्वना देना। लकड़ी का लट्ठा ( ' \एन फ़ाइल पढ़ना समाप्त हो गया।' ) ;
} ) ;
स्ट्रीमओबीजे. पाइप ( प्रक्रिया। stdout ) ;
उपरोक्त कोड का विवरण इस प्रकार है:
- पहले ' एफ.एस 'मॉड्यूल आयात किया जाता है और इसका ऑब्जेक्ट' में संग्रहीत किया जाता है fsObj ' चर।
- अगला, 'का उपयोग करते हुए fsObj 'आह्वान करता है' createReadStream() ” विधि लक्षित फ़ाइल के पथ को पारित करती है जिसकी सामग्री को पुनर्प्राप्त करने की आवश्यकता होती है। विधि के परिणाम को एक नए वेरिएबल में संग्रहीत करें ' स्ट्रीमओबीजे ”।
- 'संलग्न करें' पर() 'स्ट्रीमओबीजे' के साथ विधि जो कॉलबैक फ़ंक्शन को आमंत्रित करती है जब ' डेटा ” पुनः प्राप्त किया गया है। पुनर्प्राप्त डेटा को कॉलबैक फ़ंक्शन के लिए एक पैरामीटर के रूप में पारित किया जाता है जो डेटा को स्ट्रिंग प्रारूप में परिवर्तित करता है और इसे कंसोल पर प्रदर्शित करता है।
- फिर से 'संलग्न करें पर() 'के साथ विधि' स्ट्रीमओबीजे ” और इस बार इसका कॉलबैक फ़ंक्शन फ़ाइल की रीडिंग पूरी होने पर एक समाप्ति संदेश प्रदर्शित करता है।
उपरोक्त कोड को निष्पादित करने के बाद उत्पन्न आउटपुट से पता चलता है कि अंतिम संदेश के साथ पढ़ा गया डेटा कंसोल पर प्रदर्शित किया गया है:
यह सब Node.js में पठनीय धाराओं के उपयोग के बारे में है।
निष्कर्ष
Node.js में पठनीय धाराओं के साथ काम करने के लिए, 'की विधि' createReadStream() 'के माध्यम से आह्वान किया जाता है एफ.एस 'मॉड्यूल ऑब्जेक्ट. लक्षित फ़ाइल पथ जिस पर सामग्री लिखी जानी है उसे विधि पैरामीटर के रूप में पारित किया जाता है। इसका उपयोग 'के साथ किया जा सकता है' ।पाइप() पुनर्प्राप्त किए गए डेटा पर आगे के कार्य करने की विधि जैसे किसी अन्य फ़ाइल में सामग्री लिखना। इस पोस्ट में पठनीय धाराओं के साथ काम करने की प्रक्रिया का वर्णन किया गया है।