12 Stimmen

Datei aus JAR holen

Ich verwende Spring's Ressource Abstraktion, um mit Ressourcen (Dateien) im Dateisystem zu arbeiten. Eine der Ressourcen ist eine Datei innerhalb einer JAR-Datei. Dem folgenden Code zufolge scheint der Verweis gültig zu sein

ResourcePatternResolver resourceResolver = new PathMatchingResourcePatternResolver();

// The path to the resource from the root of the JAR file
Resource fileInJar = resourcePatternResolver.getResources("/META-INF/foo/file.txt");

templateResource.exists(); // returns true
templateResource.isReadable();  // returns true

Zu diesem Zeitpunkt ist alles in Ordnung, aber wenn ich dann versuche, die Resource zu einer File

templateResource.getFile();

Ich erhalte die Ausnahme

java.io.FileNotFoundException: class path resource [META-INF/foo/file.txt] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:/D:/m2repo/uic-3.2.6-0.jar!/META-INF/foo/file.txt        
at org.springframework.util.ResourceUtils.getFile(ResourceUtils.java:198)
at org.springframework.core.io.ClassPathResource.getFile(ClassPathResource.java:174)

Was ist der richtige Weg, um eine File Verweis auf eine Resource die innerhalb einer JAR-Datei existiert?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X