"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > फ़ाइल सिस्टम: Node.js `fs` मॉड्यूल

फ़ाइल सिस्टम: Node.js `fs` मॉड्यूल

2024-08-29 को प्रकाशित
ब्राउज़ करें:909

File System: Node.js `fs` Module

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

1. एफएस मॉड्यूल क्या है?

एफएस मॉड्यूल मानक POSIX फ़ंक्शंस के आसपास बारीकी से तैयार किए गए तरीके से फ़ाइल सिस्टम के साथ इंटरैक्ट करने के लिए एक एपीआई प्रदान करता है। इस मॉड्यूल का उपयोग फ़ाइलों को पढ़ने और लिखने, निर्देशिका बनाने और बहुत कुछ जैसे कार्यों के लिए किया जाता है।

2. मूल सेटअप

fs मॉड्यूल का उपयोग करने के लिए, आपको अपनी Node.js स्क्रिप्ट की शुरुआत में इसकी आवश्यकता होगी:

const fs = require('fs');

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

फ़ाइलों को पढ़ने के दो प्राथमिक तरीके हैं: एसिंक्रोनसली और सिंक्रोनसली।

अतुल्यकालिक पढ़ना

यह विधि गैर-अवरुद्ध है, जिसका अर्थ है कि यह फ़ाइल पढ़ते समय आपके प्रोग्राम के निष्पादन को नहीं रोकेगा।

fs.readFile('example.txt', 'utf8', (err, data) => {
    if (err) {
        console.error(err);
        return;
    }
    console.log(data);
});
  • 'example.txt': वह फ़ाइल जिसे आप पढ़ना चाहते हैं।
  • 'utf8': उपयोग की जाने वाली एन्कोडिंग निर्दिष्ट करता है।
  • कॉलबैक फ़ंक्शन: त्रुटि और फ़ाइल डेटा को संभालता है।

तुल्यकालिक पढ़ना

यह विधि अवरुद्ध कर रही है, जिसका अर्थ है कि यह फ़ाइल पढ़ने तक आपके प्रोग्राम के निष्पादन को रोक देगी।

try {
    const data = fs.readFileSync('example.txt', 'utf8');
    console.log(data);
} catch (err) {
    console.error(err);
}

4. फ़ाइलें लिखना

फ़ाइलों को पढ़ने के समान, लेखन भी अतुल्यकालिक या सिंक्रोनस रूप से किया जा सकता है।

अतुल्यकालिक लेखन

fs.writeFile('example.txt', 'Hello, World!', (err) => {
    if (err) {
        console.error(err);
        return;
    }
    console.log('File has been saved!');
});

समकालिक लेखन

try {
    fs.writeFileSync('example.txt', 'Hello, World!');
    console.log('File has been saved!');
} catch (err) {
    console.error(err);
}

5. फाइलों में जोड़ना

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

अतुल्यकालिक परिशिष्ट

fs.appendFile('example.txt', '\nAppended Content', (err) => {
    if (err) {
        console.error(err);
        return;
    }
    console.log('Content has been appended!');
});

तुल्यकालिक परिशिष्ट

try {
    fs.appendFileSync('example.txt', '\nAppended Content');
    console.log('Content has been appended!');
} catch (err) {
    console.error(err);
}

6. फ़ाइलें हटाना

किसी फ़ाइल को हटाने के लिए, अनलिंक विधि का उपयोग करें।

अतुल्यकालिक विलोपन

fs.unlink('example.txt', (err) => {
    if (err) {
        console.error(err);
        return;
    }
    console.log('File deleted!');
});

तुल्यकालिक विलोपन

try {
    fs.unlinkSync('example.txt');
    console.log('File deleted!');
} catch (err) {
    console.error(err);
}

7. निर्देशिकाओं के साथ कार्य करना

एक निर्देशिका बनाना

fs.mkdir('newDir', { recursive: true }, (err) => {
    if (err) {
        console.error(err);
        return;
    }
    console.log('Directory created!');
});

एक निर्देशिका पढ़ना

fs.readdir('newDir', (err, files) => {
    if (err) {
        console.error(err);
        return;
    }
    console.log('Files in directory:', files);
});

एक निर्देशिका हटाना

fs.rmdir('newDir', { recursive: true }, (err) => {
    if (err) {
        console.error(err);
        return;
    }
    console.log('Directory deleted!');
});

8. फ़ाइलें देखना

आप fs.watch विधि का उपयोग करके किसी फ़ाइल में परिवर्तन देख सकते हैं:

fs.watch('example.txt', (eventType, filename) => {
    if (filename) {
        console.log(`${filename} file Changed!`);
    }
});

9. स्ट्रीम के साथ कार्य करना

Node.js बड़ी फ़ाइलों को संभालने के लिए एफएस स्ट्रीम प्रदान करता है जो मेमोरी में फिट नहीं हो सकती हैं।

धाराओं के साथ पढ़ना

const readStream = fs.createReadStream('example.txt', 'utf8');
readStream.on('data', (chunk) => {
    console.log(chunk);
});

धाराओं के साथ लेखन

const writeStream = fs.createWriteStream('example.txt');
writeStream.write('Hello, ');
writeStream.write('World!');
writeStream.end();

10. फ़ाइलें कॉपी करना

Node.js फ़ाइलों की प्रतिलिपि बनाने के लिए एक सरल विधि प्रदान करता है:

fs.copyFile('source.txt', 'destination.txt', (err) => {
    if (err) {
        console.error(err);
        return;
    }
    console.log('File copied successfully!');
});

11. वादा किया गया एफ.एस

एफएस मॉड्यूल में वादा-आधारित विधियां भी हैं, जिससे एसिंक/प्रतीक्षा जैसी आधुनिक जावास्क्रिप्ट सुविधाओं के साथ काम करना आसान हो जाता है।

const fsPromises = require('fs').promises;

async function readFile() {
    try {
        const data = await fsPromises.readFile('example.txt', 'utf8');
        console.log(data);
    } catch (err) {
        console.error(err);
    }
}

readFile();

12. व्यावहारिक उपयोग के मामले

  • कॉन्फ़िगरेशन फ़ाइलें: सेटिंग्स संग्रहीत करने के लिए कॉन्फ़िगरेशन फ़ाइलें (उदाहरण के लिए, JSON फ़ाइलें) पढ़ें या लिखें।
  • लॉग फ़ाइलें: एप्लिकेशन ईवेंट पर नज़र रखने के लिए लॉग फ़ाइलों में जोड़ें।
  • फ़ाइल अपलोड: अपलोड की गई फ़ाइलों को संग्रहीत और पुनर्प्राप्त करें।
  • डेटा प्रोसेसिंग: स्ट्रीम का उपयोग करके बड़े डेटासेट को कुशलतापूर्वक पढ़ें, प्रोसेस करें और लिखें।

13. त्रुटि प्रबंधन और सर्वोत्तम प्रथाएँ

  • कॉलबैक फ़ंक्शन में त्रुटियों को हमेशा संभालें या सिंक्रोनस कोड के साथ ट्राई-कैच ब्लॉक का उपयोग करें।
  • ज्यादातर मामलों में बेहतर प्रदर्शन के लिए अतुल्यकालिक तरीकों का उपयोग करें।
  • स्वच्छ, अधिक आधुनिक कोड के लिए fs.promises का उपयोग करने पर विचार करें।
  • सिंक्रोनस तरीकों से सावधान रहें क्योंकि वे इवेंट लूप को ब्लॉक कर सकते हैं।
  • फ़ाइल सिस्टम फ़्लैग के लिए fs.constents का उपयोग करें (उदाहरण के लिए, केवल-पढ़ने के लिए fs.constents.O_RDONLY)।

14. सुरक्षा संबंधी विचार

  • निर्देशिका ट्रैवर्सल हमलों को रोकने के लिए फ़ाइल पथों को मान्य और स्वच्छ करें।
  • उपयोगकर्ता द्वारा प्रदत्त फ़ाइल नाम या पथ के साथ काम करते समय सावधान रहें।
  • फ़ाइलें और निर्देशिकाएँ बनाते या संशोधित करते समय उचित फ़ाइल अनुमतियों का उपयोग करें।

15. निष्कर्ष

एफएस मॉड्यूल किसी भी नोड.जेएस एप्लिकेशन के लिए बहुमुखी और आवश्यक है जिसे फ़ाइल सिस्टम के साथ इंटरैक्ट करने की आवश्यकता होती है। इसके विभिन्न तरीकों को समझकर, स्ट्रीम को कुशलतापूर्वक संभालने और सर्वोत्तम प्रथाओं को नियोजित करके, आप Node.js में फ़ाइल संचालन को प्रभावी ढंग से और सुरक्षित रूप से प्रबंधित करने के लिए अच्छी तरह से सुसज्जित होंगे।

एफएस मॉड्यूल की नवीनतम जानकारी और अतिरिक्त सुविधाओं के लिए आधिकारिक Node.js दस्तावेज़ से परामर्श लेना याद रखें।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/shanu001x/file-system-nodejs-fs-module-1hg6?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.com से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3