Heim  >  Artikel  >  Java  >  Verwendung relativer Pfade in Java

Verwendung relativer Pfade in Java

巴扎黑
巴扎黑Original
2016-12-20 16:35:201596Durchsuche

Während des Entwicklungsprozesses kommt es häufig vor, dass Konfigurationsdateien je nach Umgebung und anderen Umständen gelesen werden. Wenn Sie relative/path aus einem Nicht-JAR-Paket verwenden, ist dies relativ einfach, deshalb werde ich hier nicht auf Details eingehen, aber in vielen
Situationen müssen wir unsere Klassen zur Verwendung in JAR-Dateien packen. Zu diesem Zeitpunkt werden Sie feststellen, dass dies möglicherweise der Fall ist, wenn wir dies zuvor nicht berücksichtigt haben funktioniert nicht, also wie kann man es lösen? Die Methode ist wie folgt
:
hat den folgenden Pfad:
Web-info--|-->classes--->conf-->config.properties
|-- >lib
Zu diesem Zeitpunkt müssen wir config.properties lesen. Wenn Sie das JAR-Paket nicht verwenden, ist es eine gute Möglichkeit, es wie folgt zu lesen:
File f = new File(this.getClass(). .getResource("/ ").getPath());
f = new File(f.getPath() + "/conf/config.properties");
Hinweis: f.getPath() ist das Absolute Pfad, in dem sich die Klasse befindet. Zum Beispiel: c:javasrcweb-infclasses
Anschließend können durch Verarbeiten des Dateiobjekts die Konfigurationsinformationen ausgelesen werden. Wenn jedoch die obige Klasse hinzugefügt und in eine JAR-Datei gepackt wird, wird das Programm hier ausgeführt. Es wird nicht möglich sein, die Konfigurationsdatei zu finden. Was soll ich also tun?
Die Verarbeitungsmethode ist wie folgt:
String s_config="conf/config.properties";
InputStream in = ClassLoader.getSystemResourceAsStream(s_config);
if( in == null ){
System. out.println( "Open" + s_config + "Failed!" );
}else
{
Properties Properties = new Properties();
properties.load(in);
/ /
//Als nächstes können Sie die Konfigurationsinformationen über die Methode Properties.getProperty(String obj) lesen
}

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn