मुझे getResourceAsStream()
द्वारा भ्रमित कर दिया गया है;फ़ाइल के लिएResourceAsStream (फ़ाइल) खोज कहां मिलती है?
मेरे पैकेज संरचना की तरह दिखता है:
\src
|__ net.floodlightcontroller // invoked getResourceAsStream() here
|__ ...
|__ resources
|__ floodlightdefault.properties //target
|__ ...
और मैं floodlightdefault.properties से पढ़ना चाहते हैं। यहाँ मेरी कोड net.floodlightcontroller
पैकेज में झूठ बोल रही है,:
package net.floodlightcontroller.core.module;
// ...
InputStream is = this.getClass().getClassLoader()
.getResourceAsStream("floodlightdefault.properties");
लेकिन यह विफल रहा है, is == null
रही। तो मैं सोच रहा हूं कि file
के लिए वास्तव में कैसे करता है। मेरा मतलब है कि यह कुछ PATH
एस या एक निश्चित आदेश के माध्यम से काम करता है?
यदि हां, तो getResourceAsStream()
उन स्थानों को कॉन्फ़िगर कैसे करें?
Thx!
क्या आपने संसाधन निर्देशिका जोड़ दी है अपने कोड को चलाने के दौरान एक कक्षा में? आम तौर पर, getResourceAsStream का व्यवहार क्लासलोडर कार्यान्वयन पर निर्भर करता है। –
आम तौर पर यह भी 'यह' संदर्भित करता है पर निर्भर करेगा। – Radiodef
अपनी शून्य समस्या को ठीक करने के लिए, शुरुआत में दो चीजें हैं जिन्हें मैं देखता हूं। सबसे पहले, ऐसा लगता है कि आपको अपनी निर्देशिका को 'संसाधनों/floodlightdefault.properties" में बदलने की जरूरत है। दूसरा, यह तरीका आपकी बिल्ड निर्देशिका के अंदर संसाधन की तलाश कर रहा है और आपके द्वारा दिखाए गए निर्देशिका संरचना आईडीई प्रोजेक्ट का स्रोत फ़ोल्डर प्रतीत होता है। यद्यपि यदि आपने प्रोजेक्ट में संसाधन जोड़े हैं, तो आईडीई को फ़ाइलों को स्वचालित रूप से बिल्ड निर्देशिका में कॉपी करना चाहिए। नेटबींस के साथ त्वरित परीक्षण में, मेरे संसाधन केवल शून्य हो जाते हैं यदि मैं उन्हें _both_ build और src फ़ोल्डर से हटा देता हूं। – Radiodef