सबसे पहले, मैं यह सुनिश्चित करना चाहते आप जानते हैं कि यह है, क्योंकि एक लिंक .jpg
के साथ समाप्त करते हैं हो सकता है आप एक .exe
फ़ाइल का उपयोग क्या यूआरआई लिंक भी फ़ाइल की तरह पता लगाने के लिए असंभव है (यह विशेष रूप से है यूआरएल के लिए सच है, प्रतीकात्मक लिंक और .htaccess फ़ाइलों के कारण), इस प्रकार यह यूआरआई से वास्तविक एक्सटेंशन लाने के लिए एक रॉक ठोस समाधान नहीं है यदि आप अनुमत फ़ाइल प्रकारों को सीमित करना चाहते हैं, यदि यह वही है जो आप जा रहे हैं निश्चित रूप से तो, मुझे लगता है कि आप सिर्फ यह जानना चाहते हैं कि फ़ाइल के यूआरआई पर आधारित कौन सा एक्सटेंशन है, भले ही यह पूरी तरह भरोसेमंद न हो;
आप विधि bellow का उपयोग कर किसी भी यूआरआई, यूआरएल या फ़ाइल पथ से एक्सटेंशन प्राप्त कर सकते हैं। आपको किसी पुस्तकालय या एक्सटेंशन का उपयोग करने की आवश्यकता नहीं है, क्योंकि यह मूल जावा कार्यक्षमता है। यह समाधान URI स्ट्रिंग में अंतिम .
(अवधि) चिह्न की स्थिति प्राप्त करता है, और यूआरआई स्ट्रिंग के अंत में समाप्त होने वाली अवधि चिह्न की स्थिति से शुरू होने वाली उप-स्ट्रिंग बनाता है।
String uri = "http://www.google.com/support/enterprise/static/gsa/docs/admin/70/gsa_doc_set/integrating_apps/images/google_logo.png";
String extension = uri.substring(uri.lastIndexOf("."));
इस कोड नमूना इच्छा उत्पादन ऊपर extension
चर में URI से .png
विस्तार, ध्यान दें जाएगा विस्तार में है कि एक .
(अवधि) शामिल है अगर आप एक उपसर्ग अवधि के बिना फाइल एक्सटेंशन इकट्ठा करना चाहते हैं , एक-एक करके सबस्ट्रिंग सूचकांक में वृद्धि इस तरह:
String extension = uri.substring(url.lastIndexOf(".") + 1);
(एक विधि अन्य लोगों को एक बहुत का उपयोग करें) नियमित अभिव्यक्ति से अधिक इस पद्धति का उपयोग के लिए एक समर्थक है कि यह एक बहुत कम संसाधन महंगा है और बहुत कम भारी है एक ही परिणाम देने के दौरान निष्पादित करने के लिए।
साथ ही, आप सुनिश्चित करें कि URL अवधि वर्ण बनाने के लिए चाहते हो सकता है, इस लक्ष्य को हासिल करने के लिए निम्न कोड का उपयोग करें:
String uri = "http://www.google.com/support/enterprise/static/gsa/docs/admin/70/gsa_doc_set/integrating_apps/images/google_logo.png";
if(uri.contains(".")) {
String extension = uri.substring(url.lastIndexOf("."));
}
आप एक और अधिक मजबूत प्रणाली बनाने के लिए कार्यात्मक रूप में सुधार करने के आगे भी कर सकते हैं। दो उदाहरण हो सकता है:
- मान्य यूआरआई को चेक करके उसे मौजूद है, या यकीन है कि यूआरआई के वाक्यविन्यास मान्य है, संभवतः एक नियमित अभिव्यक्ति का उपयोग कर बनाने के द्वारा।
- अवांछित सफेद रिक्त स्थान को हटाने के लिए एक्सटेंशन को ट्रिम करें।
मैं यहां इन दो विशेषताओं के समाधानों को शामिल नहीं करूंगा, क्योंकि यह पहले स्थान पर नहीं पूछा जा रहा था।
आशा है कि इससे मदद मिलती है!
यह काम नहीं करेगा अगर यूआरएल के पास फ़ाइल नाम या हैश के बाद कोई प्रश्न चिह्न है। –
उस अवधि के चरित्र जो आपने जोड़े हैं, वह कुछ भी उपयोगी नहीं करता है, क्योंकि शीर्ष स्तर डोमेन से पहले की अवधि पहले भी होती है। –