मेरे पास निम्न निर्देशिका लेआउट:संसाधन निर्देशिका पथ प्राप्त करने के लिए कैसे प्रोग्राम के रूप में
- src
- मुख्य
- जावा
- संसाधनों
- एसक्यूएल (डेटाबेस के लिए स्क्रिप्ट)
- वसंत (विन्यास)
- webapp
एक ServletContextListener वर्ग के भीतर, मैं एसक्यूएल निर्देशिका और सूची के अंतर्गत फ़ाइलों तक पहुँचने के लिए चाहते हैं उन्हें। मूल रूप से मेरी समस्या, पथ के साथ है, क्योंकि मुझे पता है कि संक्षेप में एक निर्देशिका के अंतर्गत फ़ाइलें लिस्टिंग है:
File folder = new File(path);
File[] listOfFiles = folder.listFiles();
शायद मैं कोशिश करते हैं और resources/sql
public void contextInitialized(ServletContextEvent event) {
event.getServletContext(); //(getRealPath etc.)
}
के पथ का निर्माण करने के
ServletContextEvent
वस्तु इस्तेमाल कर सकते हैं
क्या उस पथ को एक सापेक्ष, गैर-हार्डकोड तरीके से सेट करने के लिए कुछ मौजूद है? कुछ new File("classpath:sql")
(अधिमानतः यदि संभव हो तो वसंत) की तरह कुछ या मुझे resources/sql
पर इंगित करने के लिए servletContext के साथ क्या करना चाहिए?
धन्यवाद !! यह मेरे लिए काम करता है, उस यूआरएल के साथ मैं नई फाइल के लिए पथ बनाता हूं, और आखिर में उस निर्देशिका में फाइलें प्राप्त करता हूं। – whyem
आपको फ़ाइल की आवश्यकता नहीं है। आपके पास पहले से ही एक यूआरएल है। आप यह भी नहीं मान सकते कि एक फाइल या निर्देशिका है। युद्ध को अनपॅक नहीं किया जा सकता है। – EJP
MyServletContextListener का अर्थ यहां क्या है? –