Ich suche nach einer einfachen, plattformübergreifenden Möglichkeit auf der JVM, um die entsprechenden Verzeichnisse zum Speichern von Anwendungseinstellungen und Cache-Daten zu erhalten. Z. B. unter Linux unter den XDG-Spezifikationen:
Windows stuff geht in %code% oder so (auf Win 7); Ich nehme an, dass Mac Sachen unter %code% legt.
Gibt es einen plattformübergreifenden Aufruf, um diese Pfadpositionen zu erhalten? Ich konnte keins finden, obwohl ich mehrere Fragen dazu stelle. Gibt es eine Bibliothek, die die richtige Logik für die meisten gängigen Desktop-Plattformen implementiert hat?
Im schlimmsten Fall kann ich einfach %code% nachschlagen und so tun, als wäre alles eine XDG-basierte Linux-Umgebung. Aber wenn es einfach ist, die richtigen Verzeichnisse für das Betriebssystem des Benutzers zu finden, würde ich das gerne tun.
Wir richten im Grunde genommen eine Dienstprogrammklasse ein, die diese Informationen bereitstellt, meist basierend auf der Systemeigenschaft %code% und %code% .
Wir haben eine Reihe von Methoden, die es uns ermöglichen, einen Pfad zu erstellen, etwa wie ...
%Vor%Die %code% -Klasse ist die einzige, die ich kenne, die Zugriff auf einige allgemeine Verzeichnisse wie diese hat und plattformübergreifend ist. Lesen Sie die Dokumentation hier
Diese Klasse enthält einige hilfreiche Methoden wie %code% und %code% . Diese Klasse wird von den %code% für Swing-Interfaces verwendet. Ich weiß, dass es nicht direkt auf die Verzeichnisse config und cache zeigt, aber es könnte ein Schritt in die richtige Richtung für Sie sein.
Für meine eigenen Apps verwende ich den nächstbesten Ansatz, indem ich versuche, alle Konfigurationen und Einstellungen, die in der Anwendung selbst enthalten sind, zu machen - d. Erstellen Sie ein "config" -Verzeichnis unter dem Verzeichnis, in dem die Anwendung installiert ist. Obwohl es kein zentraler Speicherort für die Konfiguration des gesamten Betriebssystems ist, bleibt es zumindest im Kontext der Java-Anwendung.