java.net.MalformedURLException: no protocol:

JThan

Grünschnabel
Hallo erstmal!

Nachdem ich bisher immer nur hier gelesen habe und so schon immer meine Antworten gefunden habe, muss ich diesmal ein neue Frage einstellen.
Im Rahmen meines Studiums programmieren wir in Projektarbeit in Java.

Nun zu meinem aktuellen Problem:

Wie schon im Titel steht, bekomme ich diese Fehlermeldung.
Mehreres ist dabei komisch:
- WIeso URL-Exception? Ich versuche ein XML-Dokument zu öffnen und habe keine Netzwerkprogrammierung oder sonstawas vor.

try
{
System.out.println ("Controller started");
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setValidating (true);
DocumentBuilder db = dbf.newDocumentBuilder();
System.out.println ("is validating: " + db.isValidating());
doc = db.parse (getDoc());
// doc = db.parse ("./de/upb/swtpra04/group08/szenarioDesigner/Oval.xtop");
System.out.println ("");
}
catch (Exception e)
{
System.out.println ("XML Exception! Wahrscheinlich konnte die Datei nicht gefunden werden. "+e);
System.exit (0);
}

(Anmerkung: die getDoc Funktion öffnet nur einen FileChooser. Das auskommentierte darunter gibt den Pfad ohne FileChooser direkt an. Egal, welches man von beiden benutzt, ist die Fehlermeldung die gleiche. Sogar wenn man nur einen leeren String angibt kommt diese Fehlermeldung, was mich doch sehr verwirrt!)

- Wir arbeiten mit Eclipse und benutzen für die Gruppenarbeit ein cvs System der UNI. Die UNi hat nun ziemlich spät eine Ordnerstruktur vorgegeben, was dazu führte, dass wir unsere Dateien verschieben mussten. Vor der Verschiebung trat die Fehlermeldung nicht auf. Alle Package Angaben wurden geändert, Fehler werden nicht mehr angezeigt, nur eben diese Exception zur Laufzeit. Vor der Verschiebung funktionierte es ohne Probleme, danach kamen eben diese Fehlermeldungen, obwohl wirklich alles mehrmals überprüft wurde, was zu Fehlern aufgrund der neuen Ordnerstruktur führen könnte ( Was nicht viel war, da alle Programmdateien in einem einzigen Ordner liegen und nur die Struktur darüber verändert wurde).

Ich hoffe, ich habe einigermaßen verständlich erklärt, was ich für ein Problem habe. Sollte etwas unverständlich sein, bitte einfach nachfragen.

Danke fürs lesen und danke, falls du die Lösung weißt!
 
Hallo!

Die parse Methode des DokumentBuilders ist 5-fach Überladen.
Wird ihr ein String übergeben versucht die Methode diese als URI zu interpretieren.

Eine URI sieht z.Bsp. so aus:

Code:
file:/E:/eclipse/workspace/tutorials/ArrayStack.java

Wobei file:/ das Protokol angibt..

Gruß Tom
 
Danke

file = "file:/".concat (file);

Nachdem ich also diese Zeile an der richtigen Stelle eingefügt habe, tritt der fehler nicht mehr auf.

Vielen dank für den hinweis und die schnelle Hilfe!
 
"Arghhh..."

Okay, die Fehlermeldung ist weg, aber...

... mit diesem Präfix liest das Programm nun das XML-File nicht mehr ein *heul*

Fehlersuche geht weiter! :)

Johnny
 
Hallo!

Dann verwende doch einfach die parseMethode die als Parameter ein File Objekt nimmt...

Code:
... db.parse(new File("c:/myfile.xml"));

Gruß Tom
 
Zurück