2009-06-10 9 views
5

Existe-t-il un moyen de spécifier le répertoire actuel dans un fichier de propriétés Java?Répertoire actuel dans le fichier de propriétés Java

dire quelque chose comme:

fileLocation={currentDir}/fileName.txt 
+0

Qu'en est-il « fileLocation =/NomFichier.txt. », Ou tout simplement « fileLocation = NomFichier.txt »? –

Répondre

6

No. Les fichiers de propriétés n'ont pas d'installations macro BUILTIN. Vous pouvez obtenir par programme le répertoire currect de l'utilisateur exécutant l'application Java via le user.dir system property.

+0

Merci pour la réponse. Pouvez-vous définir la propriété systems de cette manière? Par exemple, si je veux définir temporairement le user.dir à un répertoire spécifique? J'ai essayé de le changer avant d'exécuter un test unitaire, mais il n'était toujours pas capable de charger le fichier, même si le chemin renvoyé par getProperty ("user.dir") était correct .... – Lehane

+0

Non, la propriété système est définie lorsque la machine virtuelle Java est démarrée, mais les modifications ultérieures n'ont aucun effet. Je ne pense pas qu'il soit possible de changer le répertoire de travail d'une JVM en cours d'exécution. –

+0

@Michael - Merci. – Lehane

3

Je suis assez sûr que ce seulement par défaut dans le répertoire courant, sinon vous pouvez faire

fileLocation="./fileName.txt" 
2

Je ne sais pas de solution directe à ce problème. Vous pouvez charger l'URL du fichier de propriétés, puis chargez le nom de ce fichier:

ClassLoader loader = YourClass.class.getClassLoader(); 
URL resourceURL =loader.getResource("check.properties"); 
String fileToLoad = resourceURL.getPath() + <fileNameFromPropertyFile>; 
Questions connexes