URI javadocgetPath
विधि रिटर्न "इस यूआरआई, या नल के डीकोड पथ घटक यदि पथ अपरिभाषित है" के अनुसार (जोर जोड़ा)। इससे मुझे विश्वास होगा कि अगर मेरा आवेदन getPath
के वापसी मूल्य पर निर्भर करता है, तो मुझे यह जांचने की आवश्यकता हो सकती है कि यह null
है या नहीं। हालांकि, ऐसा लगता है कि यह कभी नहीं हो सकता है।क्या java.net.URI ऑब्जेक्ट की getPath विधि के लिए यह संभव है कि शून्य न हो? (यदि हां, तो कब?)
निम्नलिखित कोड URI
ऑब्जेक्ट बनाने के मेरे प्रयास दिखाता है जिसके लिए getPath
शून्य देता है, लेकिन जैसा कि आप देख सकते हैं, मुझे अभी तक ऐसा कोई मामला नहीं मिला है। क्या कोई यह बता सकता है कि यह कैसे हो सकता है?
संपादित करें: यह मेरा ध्यान में आया है कि एक mailto
यूआरआई एक रास्ता भी नहीं है। हालांकि, मैं वास्तव में क्या पूछ रहा हूं: क्या कोई यूआरआई हो सकता है जो http, https, ftp, या फ़ाइल स्कीम का उपयोग करता है जिसमें एक अपरिभाषित/शून्य पथ है?
import java.net.URI;
import java.net.URISyntaxException;
public class URIGetPathNullTest {
public static void main(String []args) throws Exception {
test1();
test2();
test3();
test4();
test5();
test6();
test7();
}
public static void test1() throws URISyntaxException {
String urlString = "";
URI uri = new URI(urlString);
printUri(uri);
// Output:
// toString() -->
// getPath -->
// getPath null? false
}
public static void test2() throws URISyntaxException{
String scheme = null;
String ssp = null;
String fragment = null;
URI uri = new URI(
scheme,
ssp,
fragment
);
printUri(uri);
// Output:
// toString() -->
// getPath -->
// getPath null? false
}
public static void test3() throws URISyntaxException {
String scheme = null;
String userInfo = null;
String host = null;
int port = -1;
String path = null;
String query = null;
String fragment = null;
URI uri = new URI(
scheme,
userInfo,
host,
port,
path,
query,
fragment
);
printUri(uri);
// Output:
// toString() -->
// getPath -->
// getPath null? false
}
public static void test4() throws URISyntaxException {
String scheme = null;
String host = null;
String path = null;
String fragment = null;
URI uri = new URI(
scheme,
host,
path,
fragment
);
printUri(uri);
// Output:
// toString() -->
// getPath -->
// getPath null? false
}
public static void test5() throws URISyntaxException {
String scheme = null;
String authority = null;
String path = null;
String query = null;
String fragment = null;
URI uri = new URI(
scheme,
authority,
path,
query,
fragment
);
printUri(uri);
// Output:
// toString() -->
// getPath -->
// getPath null? false
}
public static void test6() throws URISyntaxException {
String urlString = "?some-query";
URI uri = new URI(urlString);
printUri(uri);
// Output:
// toString() --> ?some-query
// getPath -->
// getPath null? false
}
public static void test7() throws URISyntaxException {
String urlString = "#some-fragment";
URI uri = new URI(urlString);
printUri(uri);
// Output:
// toString() --> #some-fragment
// getPath -->
// getPath null? false
}
public static void printUri(URI uri) {
System.out.println("toString() --> " + uri.toString());
System.out.println("getPath --> " + uri.getPath());
System.out.println("getPath null? " + (uri.getPath() == null));
}
}
अच्छा एक। मैंने कुछ नया सीखा है। धन्यवाद। :) –