Holen Sie sich die Datei in den Ordner Ressourcen in Java
Ich soll die Datei zu Lesen, in meinen resource Ordner in meinem Java-Projekt. Ich benutzt den folgenden code für das
MyClass.class.getResource("/myFile.xsd").getPath();
Und ich wollte überprüfen Sie den Pfad der Datei. Aber es gibt den folgenden Pfad
file:/home/malintha/.m2/repository/org/wso2/carbon/automation/org.wso2.carbon.automation.engine/4.2.0-SNAPSHOT/org.wso2.carbon.automation.engine-4.2.0-SNAPSHOT.jar!/myFile.xsd
Bekomme ich den Pfad der Datei in das maven-repository, Abhängigkeit und es ist nicht immer die Datei. Wie kann ich dies tun?
InformationsquelleAutor Malintha | 2013-10-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie den Pfad zu Ihrem
res
Ordner.InformationsquelleAutor SudoRahul
Ist Ihre Ressource-Verzeichnis in den classpath?
Sind Sie nicht einschließlich der Ressource-Verzeichnis in Ihrem Pfad:
InformationsquelleAutor Matt
Zuverlässige Art und Weise zu konstruieren, die eine File-Instanz, die aus der resource Ordner ist es kopieren Sie die Ressource als stream in eine temporäre Datei (temp-Datei wird gelöscht, wenn die JVM beendet):
InformationsquelleAutor Lukas Masuch
Ist es nicht möglich, den Zugriff auf Ressourcen von anderen maven-Modulen. So müssen Sie Ihre Ressourcen myFile.xsd in Ihrem
src/main/resources
odersrc/test/resources
Ordner.InformationsquelleAutor Sebastian
Der Pfad korrekt ist, jedoch nicht auf der Datei-system, aber innerhalb der jar-Datei. Das ist, weil die jar ausgeführt wurde. Eine Ressource ist nie garantiert, um eine Datei.
Allerdings, wenn Sie nicht möchten, verwenden Sie Ressourcen, die Sie verwenden können, eine zip-Datei-system. Allerdings
Files.copy
würde ausreichen, kopieren Sie die Datei ausserhalb der jar. Die änderung der Datei innen das Glas ist eine schlechte Idee. Bessere Nutzung der Ressource als "Vorlage", um eine erste Kopie im user-home - (sub-)directory (System.getProperty("user.home")
).InformationsquelleAutor Joop Eggen
In maven-Projekt, können davon ausgehen, dass wir die Datei haben, deren name "config.cnf" und die Lage ist weiter unten.
In der IDE (Eclipse), habe ich Zugriff auf diese Datei mit ClassLoader.getResource (..) - Methode, aber wenn ich lief diese Anwendung durch die Verwendung von Glas, das ich immer über "Datei nicht gefunden" - exception. Schließlich schrieb ich eine Methode, die den Zugriff auf die Datei suchen an, wo die app funktioniert.
Wenn Sie diese Methode aufrufen, indem du die "conf/config.conf" param, Sie auf diese Datei zugreifen, sowohl aus Glas-und IDE.
InformationsquelleAutor gbii