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

मैं जावा में एक निर्देशिका पेड़ के माध्यम से कैसे पुनरावृति कर सकता हूं?

2025-02-06 पर पोस्ट किया गया
ब्राउज़ करें:270

एक निर्दिष्ट निर्देशिका। इसमें उपनिर्देशिकाएं शामिल हैं, जो संपूर्ण निर्देशिका के पेड़ तक व्यापक पहुंच प्रदान करती हैं। जावा में, इस कार्यक्षमता को प्राप्त करने के लिए मानक दृष्टिकोण हैं। यह निर्धारित करने के लिए उपयोग किया जाता है कि कोई फ़ाइल किसी निर्देशिका या फ़ाइल का प्रतिनिधित्व करती है या नहीं। यदि दी गई फ़ाइल एक निर्देशिका है, तो इसमें फ़ाइलों और निर्देशिकाओं की एक सूची शामिल है, जिसे ListFiles () विधि का उपयोग करके प्राप्त किया जा सकता है। ] निम्नलिखित स्निपेट इस विधि को प्रदर्शित करता है: How Can I Iterate Through a Directory Tree in Java?

आयात java.io.file; सार्वजनिक वर्ग निर्देशिका { सार्वजनिक स्थैतिक शून्य main (String [] args) { फ़ाइल निर्देशिका = नई फ़ाइल ("/पथ/से/dir"); ShowFiles (Directory.ListFiles ()); } सार्वजनिक स्थैतिक शून्य शोफाइल्स (फ़ाइल [] फ़ाइलें) { for (फ़ाइल फ़ाइल: फ़ाइलें) { if (file.isdirectory ()) { System.out.println ("निर्देशिका:" file.getabsolutepath ()); showfiles (file.listfiles ()); // पुनरावर्ती कॉल } अन्य { System.out.println ("फ़ाइल:" file.getabsolutepath ()); } } } … हालाँकि, स्टैकओवरफ़्लॉवर्रोर अपवाद को संभालना महत्वपूर्ण है, जो तब हो सकता है जब निर्देशिका ट्री JVM के स्टैक को संभालने के लिए बहुत गहरा है। ]

जावा 8 के लिए और बाद में, एक अधिक कुशल दृष्टिकोण फ़ाइलों का उपयोग करना है#वॉक ()। यह विधि पूंछ पुनरावर्तन को लागू करती है, जो JVM स्टैक के बजाय विधि कॉल स्टैक में पुनरावृत्ति की स्थिति को बनाए रखकर स्टैकओवरफ्लॉवर मुद्दे से बचती है। आयात java.nio.file.files आयात java.nio.file.path; आयात java.nio.file.paths; पब्लिक क्लास डायरेक्टरीटरटॉटरविथजवा 8 { सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) अपवाद {फेंकता है { पथ निर्देशिका = paths.get ("/path/to/dir"); Files.walk (निर्देशिका) .Foreach (पथ -> showfile (path.tofile ())); } सार्वजनिक स्थैतिक शून्य शोफाइल (फ़ाइल फ़ाइल) { if (file.isdirectory ()) { System.out.println ("निर्देशिका:" file.getabsolutepath ()); } अन्य { System.out.println ("फ़ाइल:" file.getabsolutepath ()); } } }

फाइलें#वॉक () दिए गए निर्देशिका ट्री में फ़ाइलों और निर्देशिकाओं का प्रतिनिधित्व करने वाली पथ वस्तुओं की एक धारा उत्पन्न करती है। Foreach () विधि का उपयोग तब प्रत्येक पथ ऑब्जेक्ट को संसाधित करने और संबंधित फ़ाइल या निर्देशिका प्रदर्शित करने के लिए किया जाता है।

नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3