स्ट्रिंग[] सूची (फ़ाइल नामफ़िल्टर फ़िल्टर) फ़ाइल वर्ग की विधि एक स्ट्रिंग सरणी देता है जिसमें वर्तमान (फ़ाइल) ऑब्जेक्ट द्वारा दर्शाए गए पथ में सभी फ़ाइलों और निर्देशिकाओं के नाम होते हैं। लेकिन पुन:ट्यून किए गए सरणी में फ़ाइल नाम होते हैं जो निर्दिष्ट फ़िल्टर के आधार पर फ़िल्टर किए जाते हैं। फ़ाइलनामफ़िल्टर जावा में एक एकल विधि के साथ एक इंटरफ़ेस है।
स्वीकार करें (फ़ाइल डीआईआर, स्ट्रिंग नाम)
एक्सटेंशन के आधार पर फ़ाइल नाम प्राप्त करने के लिए इस इंटरफ़ेस को इस तरह कार्यान्वित करें और इसके ऑब्जेक्ट को फ़ाइल वर्ग की उपरोक्त निर्दिष्ट सूची() विधि में पास करें।
मान लें कि हमारे पास ExampleDirectory . नाम का एक फोल्डर है निर्देशिका में डी 7 फाइलों और 2 निर्देशिकाओं के साथ -
उदाहरण
निम्न जावा प्रोग्राम D:\\ExampleDirectory पथ में टेक्स्ट फ़ाइलों और jpeg फ़ाइलों के नाम प्रिंट करता है अलग से।
आयात करें निर्देशिकापथ =नई फ़ाइल ("डी:\\ उदाहरण निर्देशिका"); // जेपीजी फाइलों के लिए फिल्टर बनाना फाइलनामफिल्टर जेपीजीफाइलफिल्टर =नया फाइलनामफिल्टर () {सार्वजनिक बूलियन स्वीकार (फाइल डीआईआर, स्ट्रिंग नाम) {स्ट्रिंग लोअरकेसनाम =name.toLowerCase (); अगर (लोअरकेसनाम.एंड्सविथ (".jpg")) {रिटर्न ट्रू; } और { झूठी वापसी; } } }; स्ट्रिंग इमेजफाइल्सलिस्ट [] =डायरेक्टरीपाथ। लिस्ट (jpgफाइलफिल्टर); System.out.println ("निर्दिष्ट निर्देशिका में जेपीईजी फाइलों की सूची:"); for(String fileName:imageFilesList) {System.out.println(fileName); } }}आउटपुट
निर्दिष्ट निर्देशिका में jpeg फ़ाइलों की सूची:cassandra_logo.jpgcat.jpgcoffeescript_logo.jpgjavafx_logo.jpg
उदाहरण
आयात करें सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] तर्क) IOException फेंकता है {स्ट्रीम <पथ> पथ =फ़ाइलें। चलना (पथ। प्राप्त ("डी:\\ उदाहरण निर्देशिका")); पथ =पथ। फ़िल्टर (var -> var.toString ()। समाप्त होता है (".jpg")); path.forEach(System.out::println); }}आउटपुट
निर्दिष्ट निर्देशिका में jpeg फ़ाइलों की सूची:cassandra_logo.jpgcat.jpgcoffeescript_logo.jpgjavafx_logo.jpg