मैं एक ऐसे प्रोजेक्ट के साथ काम कर रहा हूं जो मानक मैवेन निर्देशिका संरचना का उपयोग कर सेटअप कर रहा है, इसलिए मेरे पास "संसाधन" नामक एक फ़ोल्डर है और इसके भीतर मैंने "फोंट" नामक फ़ोल्डर बनाया है और फिर इसमें एक फ़ाइल डाली है। मुझे एक ऐसी पार्टी में पूर्ण String
फ़ाइल पथ (मेरी प्रोजेक्ट स्ट्रक्चर के भीतर, resources/fonts/somefont.ttf
पर स्थित एक फ़ाइल का), एक तृतीय पक्ष लाइब्रेरी से नीचे उपयोग करने की आवश्यकता है, मैंने इसे थोड़ी देर के लिए खोजा है लेकिन ऐसा करने के उचित तरीके के रूप में थोड़ा उलझन में हो गए हैं। मैंने नीचे की कोशिश की है लेकिन यह इसे खोजने में सक्षम नहीं है। मैंने ResourceBundle
का उपयोग करने पर ध्यान दिया लेकिन ऐसा लगता है कि मुझे वास्तविक File
ऑब्जेक्ट बनाने में शामिल होना प्रतीत होता है जब मुझे नीचे दिए गए तरीके की तरह एक विधि में जाने के लिए पथ की आवश्यकता होती है (मेरे सामने वास्तविक विधि कॉल नहीं है, इसलिए बस मेरे द्वारा एक उदाहरण दें स्मृति):जावा (मेवेन वेब ऐप), संसाधन फ़ोल्डर में फ़ाइल के लिए पूर्ण फ़ाइल पथ प्राप्त कर रहा है?
FontFactory.somemethod("resources/fonts/somefont.ttf");
मैंने सोचा था वहाँ मानक Maven निर्देशिका संरचना के साथ एक परियोजना वर्ग/पैकेज से पूर्ण रिश्तेदार पथ का उपयोग किए बिना संसाधन फ़ोल्डर से एक फ़ाइल प्राप्त करने के लिए के साथ एक तरह से किया गया था। इस पर कोई सलाह बहुत सराहना की है।
मैं हार्ड-कोडेड पथ का उपयोग नहीं करना चाहता क्योंकि परियोजना पर काम करने वाले विभिन्न डेवलपर्स के पास अलग-अलग सेटअप हैं और मैं इसे परियोजना के हिस्से के रूप में शामिल करना चाहता हूं ताकि वे परियोजना स्रोत को चेकआउट करते समय सीधे प्राप्त कर सकें ।
यह एक वेब अनुप्रयोग (Struts 1.3 एप्लिकेशन) और के लिए है जब मैं (जो मैं परियोजना चला रहा हूँ के बंद बिलाव के माध्यम से) विस्फोट युद्ध फ़ाइल में देखो, फ़ाइल पर है:
<Exploded war dir>/resources/fonts/somefont.ttf
क्या ResourceBundle से फ़ाइल वस्तु हो रही है, तो File.getAbsolutePath उपयोग करने के साथ गलत क्या है() FontFactory.somemethod को पारित करने के लिए()? (ध्यान रखें कि यदि डब्ल्यूएआर परिनियोजन पर विस्तार नहीं किया गया है तो आपको फ़ाइल ऑब्जेक्ट प्राप्त करने की गारंटी नहीं है।) – BobG
शायद इसके साथ कुछ भी गलत नहीं है :) धन्यवाद, मैं 'रिसोर्सबंडल' से परिचित नहीं हूं, इसलिए यह नहीं पता था कि यह काम करेगा, टिप – Rick
के लिए धन्यवाद वास्तव में मुझे आपको कुछ छद्म कोड पोस्ट करने दें नीचे सफलता के साथ - संसाधन बंडल पर सुनिश्चित नहीं है, लेकिन संसाधन (वसंत से बाहर) काम करता है: – BobG