Ich möchte user.dirdir als Basisverzeichnis für meine Unit-Tests verwenden (das erstellt viele Dateien). Ist es richtig, dass diese Eigenschaft auf das aktuelle Arbeitsverzeichnis verweist (z. B. mit dem Befehl 'cd' festgelegt)?
Ich möchte user.dirdir als Basisverzeichnis für meine Unit-Tests verwenden (das erstellt viele Dateien). Ist es richtig, dass diese Eigenschaft auf das aktuelle Arbeitsverzeichnis verweist (z. B. mit dem Befehl 'cd' festgelegt)?
Antworten:
Es ist das Verzeichnis java, von dem aus die JVM gestartet wurde. Muss sich nicht im Home-Verzeichnis des Benutzers befinden. Es kann überall dort sein, wo der Benutzer die Berechtigung hat, Java auszuführen.
Also, wenn Sie cdin /somedir, dann führen Sie Ihr Programm, user.dirwird sein /somedir.
Eine andere Eigenschaft user.homebezieht sich auf das Benutzerverzeichnis. Wie in /Users/myuseroder /home/myuseroder C:\Users\myuser.
Siehe hier für eine Liste von Systemeigenschaften und die Beschreibungen.
user.dirauf /usr/share/tomcatund in der Konfiguration gezeigt wird, Folgendes hinzugefügt wird: file:./configDann wird immer darauf hingewiesen /usr/share/tomcat/config?
user.dirist das "Benutzerarbeitsverzeichnis" gemäß Java Tutorial, Systemeigenschaften
In der Regel ist dies das Verzeichnis, in dem Ihre App (Java) gestartet wurde (Arbeitsverzeichnis). "Normalerweise", da es geändert werden kann, z. B. wenn Sie eine App mit ausführenRuntime.exec(String[] cmdarray, String[] envp, File dir)
System.getProperty("user.dir") Ruft das Verzeichnis oder den Pfad des Arbeitsbereichs für das aktuelle Projekt ab
-Duser.dirFlagFileObjekte betrifft (wenn ihnen kein vollständiger Pfad zugewiesen wurde ), jedoch keineFileOutPutStreamObjekte. Wenn Sie sicherstellen möchten, dass das Standardverzeichnis für beide übereinstimmt, sollten Sie dies tun,cdbevor Sie Java starten.