द्वारा फ़ाइल लोडिंग मैंने getClass.getResource(path)
का उपयोग करके संसाधन फ़ाइल लोड करने के तरीके का पालन किया है। कोड का स्निपेट यहाँ है:getClass()। GetResource()
String url = "Test.properties";
System.out.println("Before printing paths..");
System.out.println("Path2: "+ getClass().getResource(url).getPath());
FileInputStream inputStream = new FileInputStream(new File(getClass().getResource(url).toURI()));
i_propConfig.load(inputStream);
inputStream.close();
मैं पदानुक्रम के साथ ग्रहण में कॉन्फ़िगर कर लेने (स्रोत के तहत वहाँ एक फ़ोल्डर SwingDemo कहा जाता है SwingDemo मेरे जावा फ़ाइल के साथ ही संसाधन फ़ाइल नहीं है।) ...
- src
- SwingDemo
- CustomDialog.java
- Test.properties
- SwingDemo
जब मैं ग्रहण सब कुछ पर इस चला रहा हूँ ठीक चल रहा है। लेकिन जैसे ही मैंने cmd लाइन नल पॉइंटर एक्सेप्शन से एप्लिकेशन चलाने की घटनेवाला है ..
कमांड लाइन तैनाती पदानुक्रम इस प्रकार है प्रयास:
फ़ोल्डर: D:\Work\Java Progrms\SwingDemo
पदानुक्रम:
- SwingDemo
- CustomDialog.java
- Test.properties
सब मैं इस फ़ाइल कमांड लाइन से SwingDemo
फ़ोल्डर के अंदर संकलित (javac CustomDialog.java
) सबसे पहले। तब मैं एक कदम वापस जावा कार्यक्रम फ़ोल्डर में ले (के रूप में मैं जावा वर्ग के अंदर पैकेज उल्लेख किया) और प्रसिद्ध
java SwingDemo.CustomDialog
मैं इसी तरह के कदम जब मैं नई FileInputStream इस्तेमाल किया पालन करने के लिए प्रयोग किया जाता है ("पथ का उपयोग कर एप्लिकेशन चलाने ") पहले। इस फैशन को करने के बाद मुझे शून्य सूचक अपवाद मिल रहा है ..
मुझे लगता है कि getClass().getResource(url)
किसी विशिष्ट निर्देशिका से फ़ाइल लोड नहीं कर सकता है। यही कारण है कि मैंने संसाधन को अपनी जावा फ़ाइल के समान निर्देशिका में रखा। यह ग्रहण में ठीक चला गया। लेकिन जब मैं कमांड लाइन से चलाता हूं तो यह त्रुटि क्यों दे रहा है।
यह मैं मदद की: आप अभी भी एक फ़ाइल उदाहरण के रूप में एक संसाधन की जरूरत है आप (अस्थायी फ़ाइल हटा दी जाएगी जब JVM बाहर निकलता है) एक अस्थायी फ़ाइल में एक धारा के रूप में संसाधन कॉपी कर सकते हैं "यदि आप पैकेज हैं आपका ऐप एक जार फ़ाइल में, या यदि आप किसी नेटवर्क पर कक्षाएं लोड करते हैं, तो यह काम नहीं करेगा। " -> आपको इसके बजाय फ़ाइल से इनपुटस्ट्रीम प्राप्त करने की आवश्यकता है। –