Je veux utiliser user.dir
dir comme répertoire de base pour mes tests unitaires (cela crée beaucoup de fichiers). Est-il correct que cette propriété pointe vers le répertoire de travail courant (par exemple défini par la commande 'cd')?
100
-Duser.dir
indicateur affecte lesFile
objets (s'ils ne disposent pas d'un chemin complet) mais pas lesFileOutPutStream
objets. Si vous voulez vous assurer que le répertoire par défaut correspond aux deux, vous devezcd
avant de démarrer Java.Réponses:
C'est le répertoire d'où a
java
été exécuté, où vous avez démarré la JVM. N'a pas besoin d'être dans le répertoire personnel de l'utilisateur. Cela peut être n'importe où où l'utilisateur a l'autorisation d'exécuter java.Donc, si vous
cd
dans/somedir
, puis exécutez votre programme,user.dir
sera/somedir
.Une propriété différente,,
user.home
fait référence à l'annuaire des utilisateurs. Comme dans/Users/myuser
ou/home/myuser
ouC:\Users\myuser
.Voir ici pour une liste des propriétés système et leurs descriptions.
la source
user.dir
pointe vers/usr/share/tomcat
et dans la configuration, nous ajoutons quelque chose comme ceci:file:./config
alors il pointera/usr/share/tomcat/config
toujours vers ?user.dir
est le "répertoire de travail de l'utilisateur" selon le tutoriel Java, Propriétés systèmela source
Il s'agit généralement du répertoire dans lequel votre application (java) a été démarrée (répertoire de travail). "Généralement" car il peut être modifié, par exemple lorsque vous exécutez une application avec
Runtime.exec(String[] cmdarray, String[] envp, File dir)
la source
System.getProperty("user.dir")
récupère le répertoire ou le chemin de l'espace de travail pour le projet en coursla source