Es gibt aber noch weitere potentielle Variablen, z. B. wenn man Adminrechte hat.
Unter Mac nimmt man wie Linux user.home. Am besten fragst Du das Betriebssystem ab und setzt den Pfad entsprechend (bei Windows APPDATA, ansonsten user.home).
Es gibt aber noch weitere potentielle Variablen, z. B. wenn man Adminrechte hat.
Unter Mac nimmt man wie Linux user.home. Am besten fragst Du das Betriebssystem ab und setzt den Pfad entsprechend (bei Windows APPDATA, ansonsten user.home).
So stimmts ja mal nicht, denn user.home zeigt auf Dokumente und Einstellunge\username
Dadrin steckt zwar auch Eigene Dateien, jedoch liegt dann das .PROGRAMMNAME Verzeichnisparallel zum Eigene Dateien. APPDATA liegt im gleichen Verzeichnis. Ich sehe daher nicht wo der Vorteil sein soll. Man hat allerdings den Nachteil, dass man das System abfragen soll.
[EDIT]OK liest sich vielleicht etwas schlecht: Zusammengefasst: Appdata liegt im user.home![/EDIT]
Wozu also?
@TO Nimm einfach user.home. Das ist Standard und vollkommen in Ordnung. Funktioniert nebenbei auch auf allen Systemen
user.home schaut auf Windows ******* aus. Es ist völlig unüblich, dort direkt in einem Unterordner Programmdaten abzulegen. Man erkennt daran praktisch immer die Java-Programme, die sich nicht um Style-Guides kümmern. Ich habe dort neben den üblichen Einträgen 8 Ordner mit Programmdaten liegen - allesamt ausschließlich von Java-Programmen. Wenn Du schon Dein Programm speziell auf Windows ausrichtest, dann solltest Du so viel Konfiguration in Kauf nehmen.
Jedes Programm, das sich auf Windows halbwegs an die üblichen Vorgehensweise hält speichert unter APPDATA. Klar liegt das auch unter user.home, aber es ist normalerweise nicht für den Nutzer sichtbar.
das stimmt zwar so weit bis XP MCE ... aber seit vista wurde genau das geändert ...
unter XP war "C:\Dokumente und Einstellungen\<username>" noch der über-ordner von "Eigene Dateien"
seit Vista wurde da aber einiges dran geändert ...
1) es heißt grundsätzlich "C:\Users\<username>" ... das i18n was der explorer anzeigt ist irrelevant ... einfach mal CMD.exe verwenden ... die zeigt die "echten" pfad an
2) "C:\Users\<username>" IST jetzt "Eigene Dateien" ... es heißt nur nicht mehr so ... das was du bestimmt meinst wäre das äquivalent "Dokuemente" was sich dann unter "C:\Users\<username>\Documents" findet
@topic
persönlich würde ich auch unter windows "user.home/.programmname" verwenden ... weil man ansonsten nicht nur zwischen Win und Nicht-Win unterscheiden müsste sondern auch zwischen 9x , 2k , XP , Vista/7 ...
persönlich würde ich auch unter windows "user.home/.programmname" verwenden ... weil man ansonsten nicht nur zwischen Win und Nicht-Win unterscheiden müsste sondern auch zwischen 9x , 2k , XP , Vista/7 ...
hmm .. da hast du mich jetzt missverstanden ... denn ich habe mich nicht mal auf "appdata" bezogen ... da dies immer noch eine unterscheidung zwischen den OSs wäre ... welche man mit "user.home/.programmname" grundsätzlich vermeidet*
user.home schaut auf Windows ******* aus. Es ist völlig unüblich, dort direkt in einem Unterordner Programmdaten abzulegen. Man erkennt daran praktisch immer die Java-Programme, die sich nicht um Style-Guides kümmern.
So unüblich ist das IMHO gar nicht.
Natürlich findet man da u.a. Java SW (Netbeans, Eclipse, Maven, Groovy), aber nicht nur (VirtualBox, etc. pp.), finde ich persönlich gar nicht schlimm.
IME macht das meistens nur "Windows Only" SW anders.
kann auch sein das ich einfach verwöhnt bin weil ich kilometer was an platten im rechner hab *4 platten > 4 laufwerke + 2 sticks > 2 laufwerke*
von daher ist es mir meist völlig egal was unter C: abgeht da da eh nur mein win drauf läuft *und so das eine oder andere programm was sich partu nicht auf n anderes laufwerk installieren lassen will*
desswegen ist es mir auch völlig egal was unter user.home abgeht ... da dort halt nichts liegt was mich irgendwie interessieren könnte ... meine files liegen auf anderen platten ... und weil user.home nun mal unter allen system halbwegs den gleichen pfad hat *unter win halt C:\Users\ und unter unix /home/* und man auch sicher sein kann das ein programm innerhalb dieses ordners und damit aller sub-ordner definitiv schreibrechte hat ... warum nicht dierekt nehmen ?
natürlich ist appdata nur ein sub-folder von user.home unter win ... aber falls man doch mal ran muss tun sich die meisten 0-8-15 user schon etwas schwer ...
und ob man nun den führenden punkt grundsätzlich verwendet *und damit unter unix einen "unsichbaren" ordner erzeugt und unter win es einfach nur merkwürdig aussieht* ... oder diesen weglässt ... liegt meiner ansicht nach an dem was man erreichen will ...
wenn man für den user unsichtbar und unveränderlich seine daten speichern will ... dann könnte man unter win gleich die registry nehmen ... davon haben nun noch weniger leute ahnung ...
ich denke über das thema kann man sich echt gegenseitig totschlagen ... weil es immer mehrere lager geben wird ... alleine schon die OS lager ... und dann innerhalb derer noch die verfechter bestimmter speicher-orte ...