Erstellen einer Java-Dateiinstanz aus einer Ressource
Man kann auf eine Situation stoßen, in der auf Dateien sowohl aus einer JAR-Datei als auch aus einer Datei zugegriffen werden muss Benutzerdefiniertes Verzeichnis in Java. Um dies zu erreichen, ist es wichtig, eine konsistente Methode zum Ausführen der folgenden Aufgaben zu finden:
a) Dateien als Streams laden
b) Dateien aus dem benutzerdefinierten Verzeichnis oder JAR-Verzeichnis auflisten
Anfangs wurde die Verwendung von java.io.File in Betracht gezogen, in diesen Szenarien ist es jedoch oft vorzuziehen, sie zu vermeiden. Daher besteht der ideale Ansatz darin, ein Verzeichnis aus dem Klassenpfad zu laden und seinen Inhalt aufzulisten.
Verwenden von ClassLoader zum Lösen des Problems
Das Problem kann mit dem ClassLoader gelöst werden Klasse, die Zugriff auf Ressourcen bietet, die sich in einer JAR-Datei befinden. Durch die Verwendung der getSystemResource()-Methode von ClassLoader kann eine URL abgerufen werden, die auf die angegebene Ressource verweist.
Diese URL kann dann mit File(URL.toURI()) in ein Dateiobjekt umgewandelt werden, das den Zugriff ermöglicht die Ressource, als wäre sie eine normale Datei.
Beispielcode
Der folgende Codeausschnitt zeigt, wie das geht Laden Sie ein Verzeichnis als Ressource und listen Sie dessen Inhalt auf:
// Load the directory as a resource URL dir_url = ClassLoader.getSystemResource(dir_path); // Turn the resource into a File object File dir = new File(dir_url.toURI()); // List the directory String files = dir.list()
Das obige ist der detaillierte Inhalt vonWie greife ich in Java auf Dateien aus einem JAR- und benutzerdefinierten Verzeichnis zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!