Fehler in URL.getFile ()

8

Ich versuche eine Datei von URL zu öffnen.

Objekt der URL wird mit der Methode getResource () von ClassLoader erstellt. Die von getResource () zurückgegebene Ausgabe-URL lautet =

%Vor%

Nach der Verwendung der Methode URL.getFile (), die String als "/ C: / users /" zurückgibt, entfernt sie " Datei: " nur nicht die " / " Dies gibt mir einen Fehler beim Öffnen einer Datei mit dem neuen FileInputStream. Fehler: FileNotFoundException

"/" im Anfang des Dateinamens verursacht das gleiche Problem beim Abrufen des Pfadobjekts. Hier wird der Wert des Verzeichnisses aus der URL.getResource (). GetFile ()

abgerufen

Pfad Dest = Pfads.get (Verzeichnis);

Fehler erhalten ist: java.nio.file.InvalidPathException: Unzulässiges Zeichen & lt;: & gt; bei Index 2: / C: / Benutzer /

ist jemand mit einem solchen Problem konfrontiert?

    
user3243318 28.01.2014, 06:46
quelle

2 Antworten

12

Verwenden Sie nicht URL.getFile() , es gibt den "Datei" -Teil der URL zurück, der nicht mit einem Datei- oder Pfadnamen einer Datei auf der Festplatte übereinstimmt. (Es sieht so aus, aber wie Sie herausgefunden haben, gibt es viele Wege, auf denen eine Diskrepanz besteht.) Rufen Sie stattdessen URL.toURI() auf und übergeben Sie das resultierende URI-Objekt an Paths.get()

Das sollte funktionieren, solange Ihre URL auf eine echte Datei und nicht auf eine Ressource in einer JAR-Datei zeigt.

Beispiel:

%Vor%     
Erwin Bolwidt 28.01.2014 07:22
quelle
2

Das Problem besteht darin, dass Ihr Ergebnispfad das führende / enthält.

Versuchen Sie:

%Vor%     
Andrew 11.04.2016 13:51
quelle

Tags und Links