Ich möchte eine Ressourcendatei aus dem Klassenpfad laden. Diese Datei befindet sich möglicherweise in einer JAR-Datei oder nur in einer separaten Datei. Wie kann ich das wissen? DankeWie erkennt man eine Ressourcendatei von jar oder aus Datei?
Antwort
Dies sollte den Trick unter der Annahme, dass MyClass
ist eine Klasse in der gleichen ClassLoader
oder ein Kind ClassLoader
des einen, der Ihre Ressource-Datei enthält.
MyClass.class.getResourceAsStream("/path/to/my/resource")
Sucht eine Ressource mit einem bestimmten Namen. Die Regeln für die Suche nach Ressourcen , die einer bestimmten Klasse zugeordnet sind, werden von der definierenden Klasse loader der Klasse implementiert. Diese Methode delegiert an die Klasse dieses Objekts. Wenn dieses Objekt vom Bootstrap-Klassenladeprogramm geladen wurde, wird die Methode an ClassLoader.getSystemResourceAsStream (java.lang.String) delegiert.
Mehr Details here
Der Vorschlag oben geben Sie Ihre Ressource als InputStream
, wenn Sie es als URL
Verwendung haben wollen MyClass.class. getResource("/path/to/my/resource")
statt