Frage

URL u = new URL ( "telnet: //route-server.exodus.net");

Diese Zeile erzeugt:

java.net.MalformedURLException: unbekanntes Protokoll: telnet

Und ich begegnen ähnliche Probleme mit anderen URLs, die mit "news: //"

Diese sind URLs von ODP extrahiert, so dass ich nicht verstehen, warum solche Ausnahmen entstehen ..

War es hilfreich?

Lösung

Problem

Java wirft eine MalformedURLException, weil es keine URLStreamHandler für dieses Protokoll finden konnte. Schauen Sie sich die javadocs der Konstrukteure für die Details .

Zusammenfassung:

Da die URL Klasse eine openConnection Methode hat, um die URL-Klasse überprüft sicher, dass Java weiß, wie eine Verbindung von dem korrekten Protokoll zu öffnen. Ohne URLStreamHandler für dieses Protokoll, weigert Java eine URL erstellen Sie aus Fehlern zu sparen, wenn Sie versuchen, openConnection zu nennen.

Lösung

Sie sollten wahrscheinlich die URI Klasse, wenn Sie nicht vorhaben, eine Verbindung dieser Protokolle in Java.

Andere Tipps

Klingt wie es für das Protokoll „telnet“ in Ihrer Anwendung kein Handler ist. Da die URL-Klasse verwendet werden kann, eine Input zu öffnen, um URL muss es einen registrierten Handler hat für das Protokoll, diese Arbeit tun, wenn Sie werden erlaubt sind, ein Objekt zu erstellen, es zu benutzen.

Weitere Informationen darüber, wie Handler hinzuzufügen sehen: http://docs.oracle.com/javase/7/docs/api/java/net/URLStreamHandlerFactory.html

Sie bekommen diese Fehler, weil Java nicht über einen Standard Protokollhandler für Telnet.

Die einfache Antwort ist, dass es nur, dass bestimmte Protokolle erkennen, und der Rest der Unendlichkeit der Protokolle wird nicht erkannt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top