Wie zu Lesen ein Verzeichnis aus dem runtime classpath?

Meine Java-Anwendung muss in der Lage sein zu finden, eine myconfig/ Verzeichnis, das gebündelt in dem selben JAR:

myjar.jar/
    com/
        me/
            myproject/
                ConfigLoader.java --> looks for myconfig/ directory and its contents
    myconfig/
        conf-1.xml
        conf.properties
        ... etc.

Wie kann ich eigentlich gehen über das Lesen dieser myconfig/ Verzeichnis aus dem runtime classpath? Ich habe einige der Forschung getan, und es scheint, dass die normale Methode des Lesens einer Datei aus dem classpath funktioniert nicht für Verzeichnisse:

InputStream stream = ConfigLoader.class.getResourceAsStream("myconfig");

Also weiß wer, wie zu Lesen, ein ganzes Verzeichnis aus dem runtime classpath befinden (im Gegensatz zu einer einzelnen Datei)? Vielen Dank im Voraus!

Bitte beachten Sie: Es ist nicht möglich, laden Sie die Dateien einzeln myconfig ist ein Verzeichnis mit tausenden von properties-Dateien drin.

  • Was versuchen Sie zu tun?
  • Ich versuche zu vereinfachen, das problem für den Willen zu erklären, es. Es gibt eine Bibliothek namens langdetect gehostet auf google hier. Die Bibliothek wird mit einem profiles Verzeichnis, das verwendet wird, um laden jede einzelne Sprache properties-Datei in das runtime-classpath. Zur Laufzeit müssen Sie rufen Sie einen DetectFactory.loadProfile(String) Methode zum initialisieren der profiles/ - Verzeichnis. Also dieses Verzeichnis muss auf dem Klassenpfad. Ich kann diese arbeiten, wenn ich pass es ein abs Datei-Pfad, aber letztlich müssen Paket in dem selben JAR.
  • Also, letztlich, ich brauche nur pass DetectFactory.loadProfiles eine Zeichenfolge, die Punkte, die es zu der profiles Verzeichnis in dem selben JAR. Also in der Erwägung, dass mein Beispiel zeigt myconfig Verzeichnis, seine wirklich profiles. Wo es zeigt ConfigLoader, die wirklich DetectFactory.
InformationsquelleAutor IAmYourFaja | 2012-08-17
Schreibe einen Kommentar