Heim >Java >javaLernprogramm >Wie kann ich einen Dateipfad zu einer Ressource in einer Java-JAR-Datei erhalten?
Einen Pfad zu Ressourcen in einer Java-JAR-Datei abrufen
Frage:
Abrufen einer Der Pfad zu einer Ressource (z. B. einer Konfigurationsdatei) innerhalb einer JAR-Datei hat sich als erfolglos erwiesen. Versuche, den Klassenlader mit getResourceAsStream() und getFile() zu verwenden, führen zu Ausnahmen oder zu einem Pfad, der auf die JAR-Datei selbst verweist. Ist es möglich, einen gültigen Dateipfad zu erhalten?
Antwort:
Das Abrufen eines Dateipfads zu einer Ressource innerhalb einer JAR-Datei ist aufgrund möglicher Einschränkungen in der Datei von Natur aus eine Herausforderung Klassenlader. JAR-Dateien enthalten oft Ressourcen, die physisch nicht als einzelne Dateien im Dateisystem vorhanden sind.
Der Zugriff auf den Inhalt einer Ressource ist über classLoader.getResourceAsStream() möglich, das einen Eingabestream zum Lesen des Inhalts der Ressource zurückgibt. Der Versuch, dies mit getFile() in eine Datei zu konvertieren, kann jedoch zu einer Ausnahme führen, da die Ressource möglicherweise keinen entsprechenden Dateipfad hat.
Wenn ein Dateihandle unbedingt erforderlich ist, wird empfohlen, ein temporäres zu erstellen Datei, kopieren Sie den Inhalt der Ressource hinein und verwenden Sie dann den Pfad der temporären Datei. Dieser alternative Ansatz gewährleistet die Verfügbarkeit eines gültigen Dateipfads.
Das obige ist der detaillierte Inhalt vonWie kann ich einen Dateipfad zu einer Ressource in einer Java-JAR-Datei erhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!