Node.js में फ़ाइल सिस्टम के साथ काम करना: व्यावहारिक गाइड

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

परिचय: JavaScript में फ़ाइलों के साथ काम करना क्यों ज़रूरी है?

\n\n

जब हम JavaScript की बात करते हैं, तो ज़्यादातर लोगों को ब्राउज़र और इंटरैक्टिव इंटरफ़ेस याद आते हैं। लेकिन Node.js प्लेटफ़ॉर्म के आने के बाद, JavaScript वेब पेजों की सीमाओं से बाहर निकल गया। आज यह सर्वर-साइड डेवलपमेंट, ऑटोमेशन और यूटिलिटीज़ के लिए एक पूर्ण भाषा है। और हर डेवलपर के सामने आने वाला एक मुख्य कार्य है — फ़ाइल सिस्टम के साथ काम करना।

\n\n

फ़ाइलों को पढ़ना, लिखना, स्थानांतरित करना और हटाना — यह एक बुनियादी कौशल है, जिसके बिना किसी भी गंभीर प्रोजेक्ट की कल्पना नहीं की जा सकती। चाहे वह लॉगर हो, कॉन्फ़िगरेशन फ़ाइल हो, इमेज अपलोड हो या डेटा एनालिसिस — हर जगह फ़ाइल सिस्टम तक पहुँच चाहिए।

\n\n

इस लेख में हम Node.js में फ़ाइल सिस्टम के साथ काम करने के व्यावहारिक उदाहरण देखेंगे। आप सीखेंगे कि बिल्ट-इन fs मॉड्यूल का उपयोग कैसे करें, कौन से मेथड उपलब्ध हैं और सामान्य गलतियों से कैसे बचें। सभी कोड को तुरंत चलाकर टेस्ट किया जा सकता है।

\n\n

fs मॉड्यूल के मुख्य मेथड

\n\n

fs (File System) मॉड्यूल Node.js के स्टैंडर्ड इंस्टॉलेशन में शामिल है। इसे अलग से इंस्टॉल करने की ज़रूरत नहीं है। शुरू करने के लिए, बस इसे अपनी फ़ाइल की शुरुआत में शामिल करें:

\n\n
const fs = require('fs');\nconst fsPromises = require('fs').promises; // प्रॉमिस के साथ काम करने के लिए
\n\n

fs मॉड्यूल के सभी मेथड तीन रूपों में उपलब्ध हैं:

\n\n
    \n
  • सिंक्रोनस — कोड के निष्पादन को तब तक रोकते हैं जब तक ऑपरेशन पूरा न हो जाए। इनमें आमतौर पर Sync सफ़िक्स होता है।
  • \n
  • कॉलबैक के साथ एसिंक्रोनस — Node.js की क्लासिक शैली।
  • \n
  • प्रॉमिस पर आधारित एसिंक्रोनस — fs.promises के माध्यम से आधुनिक दृष्टिकोण।
  • \n
\n\n

आधुनिक प्रोजेक्ट्स में प्रॉमिस और async/await का उपयोग करने की सलाह दी जाती है। इससे कोड साफ और समझने में आसान होता है।

\n\n

फ़ाइलें पढ़ना

\n\n

सबसे आम परिदृश्य — किसी फ़ाइल की सामग्री पढ़ना। आइए data.txt टेक्स्ट फ़ाइल का उदाहरण देखें:

\n\n
const fs = require('fs').promises;\n\nasync function readFileExample() {\n    try {\n        const data = await fs.readFile('data.txt', 'utf8');\n        console.log('फ़ाइल की सामग्री:');\n        console.log(data);\n    } catch (err) {\n        console.error('फ़ाइल पढ़ने में त्रुटि:', err.message);\n    }\n}\n\nreadFileExample();
\n\n

दूसरा पैरामीटर 'utf8' एन्कोडिंग को निर्दिष्ट करता है। अगर इसे छोड़ दिया जाए, तो आपको रॉ बफर (Buffer) मिलेगा। टेक्स्ट फ़ाइलों के लिए हमेशा एन्कोडिंग निर्दिष्ट करें।

\n\n

फ़ाइल में लिखना

\n\n

फ़ाइल में डेटा लिखना दो तरीकों से किया जा सकता है: पूरी तरह से ओवरराइट करना या अंत में जोड़ना।

\n\n

फ़ाइल को ओवरराइट करना:

\n
const fs = require('fs').promises;\n\nasync function writeFileExample() {\n    try {\n        await fs.writeFile('output.txt', 'नमस्ते, फ़ाइल सिस्टम!');\n        console.log('फ़ाइल सफलतापूर्वक लिखी गई');\n    } catch (err) {\n        console.error('लिखने में त्रुटि:', err.message);\n    }\n}\n\nwriteFileExample();
\n\n

फ़ाइल के अंत में जोड़ना:

\n
const fs = require('fs').promises;\n\nasync function appendFileExample() {\n    try {\n        await fs.appendFile('log.txt', `नई प्रविष्टि: ${new Date().toISOString()}\\n`);\n        console.log('डेटा जोड़ दिया गया');\n    } catch (err) {\n        console.error('जोड़ने में त्रुटि:', err.message);\n    }\n}\n\nappendFileExample();
\n\n

appendFile मेथड लॉग रखने या डेटा जमा करने के लिए एकदम सही है।

\n\n

डायरेक्टरी और फ़ाइलों का प्रबंधन

\n\n

फ़ाइल सिस्टम के साथ काम करना सिर्फ़ पढ़ने और लिखने तक सीमित नहीं है। अक्सर फ़ोल्डर बनाना, फ़ाइलों के अस्तित्व की जाँच करना या उन्हें हटाना आवश्यक होता है।

\n\n

डायरेक्टरी बनाना और हटाना

\n\n
const fs = require('fs').promises;\n\nasync function manageDirectories() {\n    try {\n        // डायरेक्टरी बनाना (अगर मौजूद नहीं है)\n        await fs.mk                

ब्लॉग

पुस्तक अनुशंसाएँ