2008-09-12 5 views
5

Ich bin derzeit die folgende Codezeile aufrufen:bekommen java Ausnahme: java.net.MalformedURLException: kein Protokoll

java.net.URL connection_url = new java.net.URL("http://<ip address>:<port>/path"); 

und ich bekomme die Ausnahme oben, wenn sie ausgeführt wird. Irgendwelche Ideen, warum das passiert?

+0

Ich bekomme nicht die gleiche Ausnahme mit genau dem gleichen Code. – jjnguy

+0

Welche Version von Java verursacht die Ausnahme? –

Antwort

2

Ihr Code funktioniert für mich völlig in Ordnung:

public static void main(String[] args) { 
    try { 
     java.net.URL connection_url = new java.net.URL("http://:/path"); 
     System.out.println("Instantiated new URL: " + connection_url); 
    } 
    catch (MalformedURLException e) { 
     e.printStackTrace(); 
    } 
} 

instanziiert neue URL: http://:/path

dass Sie die richtige Codezeile haben?

4

Als Randnotiz sollten Sie URI verwenden, weil die Java-URL-Klasse vermasselt ist. (Die equals-Methode glaube ich)

+0

Ich bin mir nicht sicher, warum der Elternteil heruntergestuft wurde, aber es könnte eine gute Idee sein, URI anstelle von URL zu verwenden, je nachdem, was Sie tun. Siehe: http://www.symphonious.net/2007/03/29/javaneturl-or-javaneturi/ –

+0

Sie möchten * java.net.URI wahrscheinlich nicht verwenden, wenn Sie mit URLs arbeiten, wie sie in finden die wilden (oft ungültige URIs). – smola

2

Diese URL-Zeichenfolge sieht aus wie es ungültig ist. Sicher soll es nicht 'http://path' sein? Oder ist der Server & Port leer?

+0

Danke! das hat für mich funktioniert. Hatte verpasst, das Protokoll vor der IP-Adresse hinzuzufügen. Ich schätze Chrome hat mich verwöhnt :) – Najeeb

1

Ich hatte auch die gleiche Ausnahme, aber in meinem Fall hatte die URL, die ich ausführen wollte, ein Leerzeichen angehängt. Nach dem Entfernen des Raumes funktionierte es gut für mich. Überprüfen Sie, dass die URL in Ihrem Fall keine abschließenden Leerzeichen enthält.

1

hatte ich den gleichen Fehler und es wurde durch die unten aufgelöst:

Die JAR-Dateien (JFree), die ich vor einigen Tagen automatisch bekam hinzugefügt beschädigt und diesen Fehler verursacht wurde. Ich habe die gleichen Dateien wieder aus dem Internet heruntergeladen und es hat gut für mich funktioniert.

Verwandte Themen