2011-11-22 19 views
7

मुझे एक ऐसी निर्देशिका में सभी फाइलें प्राप्त करने की आवश्यकता है जिनके पास एक विशिष्ट एक्सटेंशन (कहना, .txt) है। मुझे उन सभी फ़ाइलों को सूचीबद्ध करने में सक्षम होना चाहिए जिनमें '.txt' और '.TXT' एक्सटेंशन हैं (यानी, यह मामला असंवेदनशील होना चाहिए)। मैंने इसके लिए निम्नलिखित कक्षा लिखी है। इसे प्राप्त करने के लिए निम्नलिखित कक्षा में मुझे क्या परिवर्तन करना चाहिए?जावा फ़ाइल नाम Filter

class OnlyExt implements FilenameFilter { 
    String ext; 

    public OnlyExt(String ext) { 
     this.ext = "." + ext; 
    } 

    public boolean accept(File dir, String name) { 
     return name.endsWith(ext); 
    } 
} 

ठीक है, मैं accept() में name.toLowerCase().endsWith(ext); कोशिश की, लेकिन बात नहीं बनी।

अग्रिम धन्यवाद।

उत्तर

14

आपको एक्सटेंशन को भी कम करने की आवश्यकता है।

class OnlyExt implements FilenameFilter { 
    String ext; 

    public OnlyExt(String ext) { 
     this.ext = ("." + ext).toLowerCase(); 
    } 

    public boolean accept(File dir, String name) { 
     return name.toLowerCase().endsWith(ext); 
    } 
} 

साथ ही, यह देखने के लिए कि यह पहले से ही एक अग्रणी है या नहीं, यह देखने के लिए एक अच्छा विचार हो सकता है "। और यदि ऐसा है तो एक और प्रीपेड नहीं।

संबंधित मुद्दे