FileNotFoundException bei URL

Ich fuehre gerade einen Test einer Komponenten durch. Hierbei soll eine Datei aufn System kopiert werden. Ich habe nun ne URL zur Datei (ich brauche umbedingt URL, da spaeter die Komponente Dateien ausm Internet holen soll. Teste nur offline). Wenn ich nun aber openStream aurrufe, erhalte ich obige Exception. Das finde ich komisch, denn wenn ich ein File Objekt erstelle und das die URL erhaelt, gibt der Befehl exists() true zurueck. Gebe ich die URL in den Browser ein, so ‘laedt’ er sie Datei runter.
Habt ihr ne Idee woran das liegen kann?
Die URL sieht so aus:
file:///C:/Users/Michael/Bibliotheken/seaglasslookandfeel-0.2.jar

Was mich noch wundert ist, warum im StackTrace anstatt Users Benutzer steht… Hat aber nichts zu bedeuten, da beides mit einem File Objekt geht…

Users/ Benutzer klingt doch sehr verdächtig, genauso Eigene Dateien, Programme/ Programs, Recycler/ Papierkorb
solche Windows-Spezialitäten doch lieber ganz ignorieren und rustikal ordinär c:/temp/xy,
geht es dort oder dann auch nicht?

wie man freilich mit den Windows-Spezialitäten umgehen könnte, was wünschenswert wäre, kann ich nicht direkt sagen,

vielleicht per Herantasten:
wo kommt die bisherige URL her?
fange mit File auf c:/ an, liste die Files in Java, was wird dort vorgeschlagen, C:/Users oder C:/Benutzer?
was immer es ist, zu diesem Unterverzeichnis erstelle dir die URL (notfalls manuell zusammengebaut)
gibt die dann auch schon Exception oder nicht?
wenn es geht dann weiter usw.,

(edit: "Hat aber nichts zu bedeuten, da beides mit einem File Objekt geht… " klingt natürlich ungünstig,
aber dann eben ne Stufe weiter testen, wann kommt es zur Exception, mit File anscheinend nie, wann mir URL?)

also jeden Pfad im Falle einer Exception untersuchen, Schritt für Schritt aufbauen,
Besonderheiten wie Users/ Benutzer hardkodiert austauschen,
ein einfaches replace() statt Schritt für Schritt tut es vielleicht auch

Danke erstmal.
Bis jetzt ist alles hardkodiert. Was mir auffiel ist, dass die obige Datei einen - enthaelt. Alle anderen URLs ohne dieses Zeichen funktionieren. Scheint als ob ich den Uebeltaeter gefunden haette :smiley:
Die Windows Spezialitaeteb machen keinen Unterschied. Es wird immer eine Datei gefunden.

aber “-” ist doch sowohl in einem windows-dateinamen als auch in einer URL gültig
ich glaube eher das da der editor mist gemacht hat und statt eines normalen “-” ein formatierungszeichen oder ähnliches eingebaut hat was dann natürlich in seinem binärwert auf grund der zeichensatztabelle eine ganz andere darstellung hat
in solchen fällen hilft es auch sich die entsprechende datei mal mit nem Hex-Editor anzusehen was “wirklich” im source steht und in den compiler gelangt

und sich ne URL holen ist auch kein thema : File.toURI().toURL()

und dann kannste es damit testen
sollte es damit laufen kannst du da ma das return mit deinem hardcoded testen : “File.toURI().toURL().toString().equals(“hardcoded-url”);”
wenn false kommt weist du das dein editor schrott macht …

alternativ auch mal mittem normalen win-notepad als ANSI speichern und manuell aufm terminal compilen um fehler der IDE auszuschließen

[ot]es heißt unbedingt = ohne bedingung

Scheint echt was mi dem - gewesen zu sein. Aufn Terminal geht es…