मैं getResourceAsInputStream के साथ कुछ असाधारण व्यवहार में आया था कि मैं उम्मीद कर रहा था कि कोई व्यक्ति कुछ प्रकाश डालेगा।एक खाली स्ट्रिंग के साथ getResourceAsStream क्यों एक खाली इनपुट स्ट्रीम लौटाता है?
इस विधि को पास करने से एक गैर-संसाधन संसाधन का नाम शून्य हो जाता है, जैसा कि मैं उम्मीद करता हूं। हालांकि, इसे एक खाली या स्थान से भरे स्ट्रिंग को पारित करने से वास्तव में शून्य बाइट्स के साथ एक मान्य इनपुटस्ट्रीम लौटाता है। केवल खाली या अंतरिक्ष से भरे तार ऐसा करने लगते हैं; "\ t" या "\ n" जैसे व्हाइटस्पेस का परिणाम शून्य हो जाएगा।
क्या यह इरादा व्यवहार है? यदि हां, तो इसका उद्देश्य क्या है?
this.class.getResourceAsStream("no_such_resource"); // returns null
this.class.getResourceAsStream(""); // returns an InputStream
this.class.getResourceAsStream(" "); // returns an InputStream
this.class.getResourceAsStream("\t"); // returns null
ग्रेट स्पष्टीकरण! यह ध्यान देने योग्य है कि यह 'FileURLConnection' का एक प्रश्न है जिसे' JarURLConnection' द्वारा साझा नहीं किया गया है; बिल्कुल एक ही कोड चल रहा है, लेकिन एक जार में पैक कक्षाओं के साथ, एक लिस्टिंग (कम से कम मेरे परीक्षणों के अनुसार) का उत्पादन नहीं करेगा। –
आह, यह समझ में आता है! स्पष्टीकरण के लिए धन्यवाद। –