Abrufen des Benutzer-Homeverzeichnisses in Java

Mohammad Irfan 12 Oktober 2023
  1. Holen Sie sich das Home-Verzeichnis des Benutzers mit der Methode System.getProperty() in Java
  2. Abrufen des Home-Verzeichnisses des Benutzers mit der Apache CommonsIO-Bibliothek in Java
  3. Abrufen des Home-Verzeichnisses des Benutzers mit der Methode System.getenv() in Java
  4. Zusammenfassung
Abrufen des Benutzer-Homeverzeichnisses in Java

In diesem Tutorial wird erläutert, wie Sie das Home-Verzeichnis des Benutzers in Java abrufen, und listet einige Beispielcodes auf, die Sie durch das Thema führen.

Bei einem Mehrbenutzer-Betriebssystem existiert für jeden Benutzer ein Dateisystemverzeichnis; Dieses Verzeichnis wird als Home-Verzeichnis des Benutzers bezeichnet. Es gibt verschiedene Möglichkeiten, das Home-Verzeichnis des Benutzers in Java zu finden. Schauen wir uns jeden von ihnen an.

Holen Sie sich das Home-Verzeichnis des Benutzers mit der Methode System.getProperty() in Java

Die Klasse System in Java verfügt über ein Properties-Objekt, das verwendet wird, um verschiedene Eigenschaften und Konfigurationen der aktuellen Arbeitsumgebung zu speichern. Es enthält auch das Home-Verzeichnis des Benutzers.

Wir können auf diese Eigenschaften zugreifen, indem wir die Methode getProperty() dieser Klasse verwenden. Wir müssen den Namen der Systemeigenschaft übergeben, die wir anzeigen möchten. In unserem Fall wäre es user.home.

Der folgende Code zeigt, wie es funktioniert.

public class Main {
  public static void main(String[] args) {
    String userHomeDir = System.getProperty("user.home");
    System.out.printf("The User Home Directory is %s", userHomeDir);
  }
}

Ausgabe:

The User Home Directory is C:\Users\Lenovo

Wenn Sie neugierig sind und alle Systemeigenschaften anzeigen möchten, können Sie die Methode getProperties() verwenden. Der Code für die Methode getProperties() ist unten dargestellt.

import java.util.Map;
import java.util.Properties;
public class Main {
  public static void main(String[] args) {
    Properties props = System.getProperties();
    for (Map.Entry<Object, Object> prop : props.entrySet())
      System.out.println("Property: +" + prop.getKey() + "\tValue: " + prop.getValue());
  }
}

Abrufen des Home-Verzeichnisses des Benutzers mit der Apache CommonsIO-Bibliothek in Java

Apache Commons ist eine sehr mächtige Bibliothek, und die FileUtils-Klasse der CommonsIO-Bibliothek kann verwendet werden, um das Home-Verzeichnis zu holen.

Wir können einfach die Methode getUserDirectory() dieser Klasse verwenden, um das Home-Verzeichnis des Benutzers anzuzeigen. Es gibt ein File-Objekt zurück, das das Home-Verzeichnis repräsentiert. Wir können auch einen String-Pfad des Home-Verzeichnisses erhalten, indem wir die Methode getUserDirectoryPath() verwenden.

Der Code und die Ausgabe für diese Methoden werden unten gezeigt.

import java.io.File;
import org.apache.commons.io.FileUtils;
public class Main {
  public static void main(String[] args) {
    File homeDir = FileUtils.getUserDirectory();
    String homeDirPath = FileUtils.getUserDirectoryPath();
    System.out.printf("The User Home Directory is %s\n", homeDir);
    System.out.printf("The path of User Home Directory is %s", homeDirPath);
  }
}

Ausgabe:

The User Home Directory is C:\Users\Lenovo
The path of User Home Directory is C:\Users\Lenovo

Abrufen des Home-Verzeichnisses des Benutzers mit der Methode System.getenv() in Java

Die Methode getenv() der Klasse System wird verwendet, um den Wert von Systemumgebungsvariablen zu erhalten. Wir müssen den Namen der Umgebungsvariablen übergeben, auf die wir zugreifen möchten.

Um das Home-Verzeichnis des Benutzers zu erhalten, müssen wir den String USERPROFILE verwenden. Das folgende Programm demonstriert die Funktionsweise der Methode getenv().

public class Main {
  public static void main(String[] args) {
    String userHomeDir = System.getenv("USERPROFILE");
    System.out.printf("The User Home Directory is %s", userHomeDir);
  }
}

Ausgabe:

The User Home Directory is C:\Users\Lenovo

Sie können diese Methode auch verwenden, um alle Umgebungsvariablen anzuzeigen. Führen Sie das folgende Programm aus, wenn Sie mehr über die Umgebungsvariablen Ihres Systems erfahren möchten.

import java.util.Map;
public class Main {
  public static void main(String[] args) {
    Map<String, String> envVars = System.getenv();
    for (Map.Entry<String, String> var : envVars.entrySet())
      System.out.println(var.getKey() + " ---> " + var.getValue());
  }
}

Zusammenfassung

In diesem Handbuch erfahren wir, wie Sie das Home-Verzeichnis des Benutzers in Java abrufen. Bei einigen Windows-Plattformen mit älteren Java-Versionen (vor Java 8) liefert die Methode System.getProperty() aufgrund eines Fehlers mit der ID 4787931 möglicherweise nicht das gewünschte Ergebnis.

Ein weiterer ähnlicher Fehler (Bug ID 6519127) existiert ebenfalls. Aus diesem Grund liefert die Methode getProperty() unerwünschte Ergebnisse. Beide Fehler wurden jedoch bereits behoben.

In den meisten Fällen funktioniert die Methode getProperty() gut, aber wir können die alternative Methode System.getenv() verwenden, um das Home-Verzeichnis des Benutzers zu erhalten.

Verwandter Artikel - Java Home

Verwandter Artikel - Java Directory