2009-04-20 13 views
6

मैं फ़ाइल के वास्तविक पथ का उपयोग किये बिना एक प्रॉपर्टी फ़ाइल लोड करने का प्रयास कर रहा हूं। मैंने पहले से ही कुछ अन्य सरल ऐप्स पर इसका उपयोग किया है:classloader.getSystemResourceAsStream रिटर्न शून्य

InputStream inputStream = ClassLoader.getSystemResourceAsStream(PROPERTIES_FILE); 
props.load(inputStream); 

लेकिन इस बार यह काम नहीं करता है। कुछ कारणों से इनपुटस्ट्रीम शून्य है। PROPERTIES_FILE को "app.properties" के रूप में परिभाषित किया गया है। मैंने .properties एक्सटेंशन को निकालने का प्रयास किया और उसी परिणाम प्राप्त किए।

कोई विचार?

धन्यवाद।

+2

ऐप.प्रोपर्टीज कहां स्थित है? –

उत्तर

13

PROPERTIES_FILE निरंतर पैकेज के रूप में अच्छी तरह से शामिल करना चाहिए गुण फ़ाइल के रूप में (जैसे "com/कुछ/पुस्तकालय/file.properties"।

final static String PROPS_FILE = "/com/some/library/file.props"; 
        //The preceding "/" is dependendant on wheterh 
        //you are going to be giving a relative or absolute location 
    InputStream is = YourCurrentClass.class.getResourceAsStream(PROPS_FILE); 
+0

मैंने आपके द्वारा वर्णित पैकेज जानकारी को जोड़ा है लेकिन अभी भी वही त्रुटि मिली है। बीटीडब्ल्यू विधि जहां मैं ' मैं उस कॉल कर रहा हूँ स्थिर है अगर यह किसी भी मदद करता है ... – Lancelot

+0

असल में एक टाइपो था जब मैंने पैकेज नाम जोड़ा। वह समाधान बहुत अच्छा काम किया। धन्यवाद! :) – Lancelot

+1

आप शायद अपने वर्ग के क्लास लोडर पर getResourceAsStream को कॉल करना चाहते हैं। या शायद आपकी कक्षा 'कक्षा पर। –

0

getSystemResourceAsStream रिटर्न null, यह संसाधन का मतलब है जब नहीं मिला था सुनिश्चित करें कि अनुरोधित संसाधन वास्तव में निर्दिष्ट स्थान पर क्लासपाथ पर है।

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