2016-06-06 7 views
0

Ich versuche System.setProperty auf einen Dateipfad zu setzen:Einstellung Systemeigenschaft auf einen Dateipfad

//properties key 
String propFile = "propertiesFile"; 
String pathToFile = "properties/prop.properties"; 
File file = new file(pathToFile); 
//properties value 
String path = file.getAbsolutePath(); 
System.setProperty(propFile, path); 
//using properties..... 

Und ich bin immer FileNotFoundException. beim Drucken der Datei bekomme ich die absolutePath - c:\Project...\prop.properties Ist die Einstellung System.setProperty sollte anders gemacht werden? die properties - Paket innerhalb src.

+0

"properties/prop.properties" ist nicht ein richtiger Pfad in Datei Konstruktor Methode zu verwenden .... – RayanFar

+0

OK, was ist der richtige Weg? –

+0

sollten Sie getClass() verwenden. GetResourceAsStream (""); um auf eine Datei im Paket in einem Jar zuzugreifen ... und dann können Sie es in eine Datei auf HDD schreiben und den Pfad zu Systemeigenschaft setzen – RayanFar

Antwort

3

Ihr Problem ist nicht auf das Verfahren System.setProperty als Weg wie jeder andere String verwaltet wird, ist Ihr Problem, dass new File(pathToFile) auf eine nicht vorhandene Datei verweist, wie Sie einen relativen Pfad und der absolute Pfad zur Verfügung stellen wird vom Benutzer erstellt Verzeichnis (Wert von System.getProperty("user.dir")) das ist wahrscheinlich nicht das, was Sie erwarten. Wenn Sie new File(pathToFile).exists() aufrufen, wird false zuerst den resultierenden Pfad überprüfen.

+0

Sie haben Recht, die Datei existiert nicht .... –

Verwandte Themen