# Pfad Anwendungsdaten unter Windows ermitteln



## tobbe86 (29. Sep 2009)

Hallo, 

um Benutzerdaten auch unter Windows ordnungsgemäß zu speichern benötige ich den Pfad zu den Anwendungsdaten. (z. Bsp. C:\Users\benutzername\AppData\Roaming)

Da sich dieser in den verschiedenen Windowsversionen jedoch immer wieder geändert hat, suche ich eine Möglichkeit diesen zu ermitteln.

Folgende Lösung ist mir bis jetzt eingefallen:

a) Ermitteln der BS- Version und die Pfade hart codieren

b) Property java.io.tmpdir auslesen und Zeichenkette /temp abschneiden....

Fallen euch noch andere Möglichkeiten ein?

Vielen Dank
       Tobi


----------



## The_S (29. Sep 2009)

Evtl. findest du hier ja eine geeignete (plattformunabhängige) Alternative!?

Java Blog Buch : 09.09 Standardisiertes Speichern

Vor allem die Preferences sollten für dich interessant sein


----------



## tobbe86 (29. Sep 2009)

Danke für den Link. Denk so werde ich es machen.

Für alle die trotzdem den Pfad zu den Anwendungsdaten benötigen stellt Java über:
System.getenv() alle benötigten Infos bereit:


```
Map<String, String> env = System.getenv();
for (String str : env.keySet()) {
  System.out.println(str + "=" + System.getenv(str));
}

// Nur Pfad zu Anwendungsdaten:
System.println(System.getenv("APPDATA"));
```


Viele Grüße und Danke 
      Tobi


----------



## lichtemo (29. Sep 2009)

Unter Linux und Mac OS X ist es üblich, die Anwendungsdaten im Homeverzeichnes unter .<App name> zu speichern. Das machen auch eineige Applikationen unter Windows, z.B. Eclipse.


----------

