Ich habe eine URI (java.net.URI
) wie http://www.example.com. Wie öffne ich es als Stream in Java?Open Stream von uri
Muss ich stattdessen wirklich die URL-Klasse verwenden?
Ich habe eine URI (java.net.URI
) wie http://www.example.com. Wie öffne ich es als Stream in Java?Open Stream von uri
Muss ich stattdessen wirklich die URL-Klasse verwenden?
Sie müssen ein neues URL
Objekt erstellen und dann den Stream auf der URL
Instanz öffnen. Ein Beispiel ist unten.
try {
URL url = uri.toURL(); //get URL from your uri object
InputStream stream = url.openStream();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (URISyntaxException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}
Sie können URLConnection
verwenden, um Daten für die angegebene URL zu lesen. - URLConnection
URLConnection connection = uri.toURL().openConnection()
Ja, müssen Sie die URL
Klasse in der einen oder der anderen verwenden.
uri.toURL().openStream()
oder uri.toURL().openConnection().getInputStream()
Warum Sie nicht wollen, die URL-Klasse benutzen? – Andy
Das Problem mit URL ist, dass equals und hashcode blockierende Operationen sind, die eine Netzwerksuche durchführen. URL scheint auch eine Methode zu fehlen, eine URL zu normalisieren und eine relative URL zu einer absoluten URL zu konvertieren. – MTilsted