Node.js में लिखने योग्य स्ट्रीम के साथ कैसे काम करें?

Node Js Mem Likhane Yogya Strima Ke Satha Kaise Kama Karem



डेटा को स्ट्रीम के रूप में स्रोत और गंतव्य स्थानों के बीच नेटवर्क पर स्थानांतरित किया जाता है। प्रेषक पक्ष को स्रोत के रूप में संदर्भित किया जाता है और प्राप्तकर्ता पक्ष को गंतव्य स्ट्रीम के रूप में दर्शाया जाता है। इन स्ट्रीम का उपयोग करके, टेक्स्ट फॉर्म या ऑडियो या वीडियो प्रारूप में डेटा को डेटा रिसाव या हानि की न्यूनतम संभावना के साथ भेजा और प्राप्त किया जा सकता है।

यह मार्गदर्शिका Node.js में लिखने योग्य स्ट्रीम के साथ काम करने की व्याख्या करती है।

Node.js में लिखने योग्य स्ट्रीम के साथ कैसे काम करें?

लिखने योग्य स्ट्रीम का उपयोग फ़ाइल में नया डेटा डालने के लिए किया जा सकता है या किसी अन्य यादृच्छिक स्ट्रीम की सामग्री को रखा जा सकता है। डेटा रूपांतरण या प्लेसमेंट अधिकतर 'की मदद से होता है' पाइप() ' तरीका। यह विधि डेटा के टकराव की संभावना को कम करते हुए सामग्री को परिवर्तित करने और असाइन करने की प्रक्रिया को अधिक सुविधाजनक बनाती है।







वाक्य - विन्यास



लिखने योग्य स्ट्रीम नीचे दी गई विधि का उपयोग करके बनाई गई है:



एफ.एस. createWriteStream ( 'targetFile.ext' ) ;

उपरोक्त वाक्यविन्यास में, ' क्रिएटराइटस्ट्रीम() 'आयातित वस्तु द्वारा आह्वान किया जाता है' एफ.एस ”मॉड्यूल, और जिस फ़ाइल पर डेटा लिखा जाने वाला है उसे एक पैरामीटर के रूप में पारित किया जाता है।





आइए Node.js में लिखने योग्य स्ट्रीम के कुछ उदाहरण देखें।

उदाहरण 1: लिखने योग्य स्ट्रीम का उपयोग करके किसी अन्य फ़ाइल की सामग्री लिखना

नीचे दिए गए उदाहरण में, यादृच्छिक फ़ाइल को पढ़ने योग्य स्ट्रीम पर भेजा जाता है, और फिर इस फ़ाइल की सामग्री को लिखने योग्य स्ट्रीम पर उपलब्ध किसी अन्य फ़ाइल में रखा जाता है:



fsObj था = ज़रूरत होना ( 'एफएस' ) ;

कॉन्स्ट आकड़ों का प्रवाह = fsObj. createReadStream ( 'mynewfile1.txt' ) ;

कॉन्स्ट राइटस्ट्रीम = fsObj. createWriteStream ( 'mynewfile2.txt' ) ;

आकड़ों का प्रवाह। पाइप ( राइटस्ट्रीम ) ;

उपरोक्त कोड का विवरण:

  • पहले ' एफ.एस 'मॉड्यूल आयात किया जाता है और इसका ऑब्जेक्ट नए में संग्रहीत किया जाता है' fsObj ' चर।
  • आगे, 'की सहायता से fasObj 'आह्वान करें' createReadStream() ” एक पठनीय स्ट्रीम बनाने और चयनित पठनीय फ़ाइल को उसके पैरामीटर के रूप में पास करने की विधि।
  • फिर, '' का आह्वान करके लिखने योग्य स्ट्रीम बनाई जाती है createWriteStream() प्रदान की गई फ़ाइल पर सामग्री लिखने की विधि।
  • उपरोक्त लागू विधियों के परिणामों को ' में संग्रहीत करें आकड़ों का प्रवाह ' और ' राइटस्ट्रीम क्रमशः चर।
  • अंत में, ' का आह्वान करें। पाइप() 'विधि के बाद' आकड़ों का प्रवाह ' और ' के साथ अग्रणी राइटस्ट्रीम ' चर।

अब, नीचे दिए गए आदेश को चलाकर युक्त फ़ाइल (controlFlow.js) को निष्पादित करें:

उदाहरण 2: 'stream.write()' विधि का उपयोग करके सामग्री को फ़ाइल में लिखना

इस उदाहरण में, ' लिखना() 'विधि का उपयोग लिखने योग्य स्ट्रीम पर उपलब्ध फ़ाइल पर डेटा लिखने के लिए किया जाता है:

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

कॉन्स्ट सर्वस्थानीय = httpObj. क्रिएटसर्वर ( ( अनुरोध प्रतिक्रिया ) => {
कोशिश {
कॉन्स्ट सेलस्ट्रीम = fsObj. createWriteStream ( 'mynewfile2.txt' ) ;
सेलस्ट्रीम। लिखना ( 'डेटा को लक्षित फ़ाइल में रखा जाएगा।' ) ;
सेलस्ट्रीम। अंत ( ) ;
प्रतिक्रिया। अंत ( 'डेटा लिखने योग्य स्ट्रीम के माध्यम से लिखा गया' )
}
पकड़ना ( गलती ) {
सांत्वना देना। गलती ( गलती ) ;
}
} ) ;
सर्वस्थानीय। सुनना ( 8080 , ( ) => {
सांत्वना देना। लकड़ी का लट्ठा ( 'सर्वर लोकलहोस्ट पोर्ट नंबर: '8080' पर चल रहा है )
) ;

उपरोक्त कोड का विवरण इस प्रकार है:

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

उत्पन्न आउटपुट से पता चलता है कि प्रदान किया गया पाठ 'का उपयोग करके लिखा गया है लिखना() ' तरीका:

उदाहरण 3: एक ही डेटा को एकाधिक फ़ाइलों पर लिखना

इस उदाहरण में, एक एकल फ़ाइल को 'का उपयोग करके स्ट्रीम से पढ़ा जाएगा' createReadStream() ' तरीका। फिर, पढ़ी गई सामग्री को 'का उपयोग करके कई फ़ाइलों पर लिखा जाता है' createWriteStream() ' और ' ।पाइप() 'तरीके:

fsObj था = ज़रूरत होना ( 'एफएस' ) ;

कॉन्स्ट आकड़ों का प्रवाह = fsObj. createReadStream ( 'mynewfile1.txt' ) ;

कॉन्स्ट राइटस्ट्रीम1 = fsObj. createWriteStream ( 'mynewfile2.txt' ) ;

कॉन्स्ट राइटस्ट्रीम2 = fsObj. createWriteStream ( 'usecase.txt' ) ;

आकड़ों का प्रवाह। पाइप ( राइटस्ट्रीम1 ) ;

आकड़ों का प्रवाह। पाइप ( राइटस्ट्रीम2 ) ;

उपरोक्त कोड स्निपेट में:

  • createReadStream() 'विधि लागू की जाती है और जिस फ़ाइल की सामग्री को पढ़ने की आवश्यकता होती है उसे इसके पैरामीटर के रूप में पारित किया जाता है। इस पद्धति का परिणाम 'में संग्रहीत है आकड़ों का प्रवाह ' चर।
  • अगला, ' createWriteStream() विधि को कॉल किया जाता है और लक्षित फ़ाइल को इसके पैरामीटर के रूप में पारित किया जाता है।
  • उसी तरह, दूसरी फ़ाइल के लिए पथ को भी एक लिखने योग्य स्ट्रीम के रूप में पारित किया जाता है और परिणाम 'में संग्रहीत किए जाते हैं' राइटस्ट्रीम1 ' और ' राइटस्ट्रीम2 ' चर।
  • उसके बाद, ' का उपयोग करके ।पाइप() 'विधि' में संग्रहीत सामग्री आकड़ों का प्रवाह 'वेरिएबल को' असाइन किया गया है राइटस्ट्रीम1 ' और ' राइटस्ट्रीम2 ' चर।

उत्पन्न आउटपुट दिखाता है कि प्रदान की गई फ़ाइल सामग्री स्ट्रीम पर प्रदान की गई फ़ाइलों में डाली गई है:

यह सब Node.js में लिखने योग्य स्ट्रीम के काम करने के बारे में है।

निष्कर्ष

लिखने योग्य धाराओं के साथ काम करने के लिए, 'की विधि' createWriteStream() 'के माध्यम से आह्वान किया जाता है एफ.एस 'मॉड्यूल ऑब्जेक्ट. लक्षित फ़ाइल पथ जिस पर सामग्री लिखी जानी है, उसे इसके पैरामीटर के रूप में पारित किया जाता है। किसी अन्य स्ट्रीम से सामग्री लिखने के लिए ' ।पाइप() 'विधि का प्रयोग किया जाता है। “ लिखना() जब लक्षित फ़ाइल पर सीधे सामग्री लिखने की बात आती है तो यह विधि भी सहायक होती है। इस पोस्ट में लिखने योग्य स्ट्रीम के साथ काम करने की प्रक्रिया का वर्णन किया गया है।