» »

Java, windows special folders

Java, windows special folders

l0g1t3ch ::

Kako dobiti v javi te posebne mape na win sistemih ? Predvsem me zanima appData za posameznega uporabnika.
Rad bi da je stvar čisto javanska brez jni ali česa podobnega.

Tr0n ::

System environment variable.

%APPDATA%
%ProgramData%
%HOMEPATH%
...

infiniteLoop ::

Takole pa se dostopa do teh spremenljivk.

Bodi pozoren edino na to, da je appData direktorij cista specifika Windows in da koda, ki se zanasa nanj ni prenosljiva.

Predlagam, da raje uporabis kak poddirektorij uporabnikovega domacega direktorija. Tega dobis tako da preberes sistemsko lastnost "user.home".

Pa fajn si ga mej...
None of us is as dumb as all of us.

Mavrik ::

Predlagam, da raje uporabis kak poddirektorij uporabnikovega domacega direktorija. Tega dobis tako da preberes sistemsko lastnost "user.home".


Kar ti na Windowsih posmeti home direktorij in seveda ne gre v backup. Raje dat en "if" not kot pa delati uporabniku probleme in smetit disk.
The truth is rarely pure and never simple.

l0g1t3ch ::

Sam moram dati nekam embedded podatkovno bazo in še nekaj datotek, ki so skupne za vse uporabnike, ter nekaj xml konfiguracijskih fajlov, ki so specifični za vsakega uporabnika posebej. Kam pašejo kateri na Visti/XP-jih.
Pri obojih mora biti omogočeno pisanje po datotekah tudi če user ni admin.

l0g1t3ch ::

Za nastavitvene datoteke, ki so specifične za posameznega uporabnika sem uporabil %APPDATA%, ki lepo deluje na visti in XP-jih.
Kam pa naj dam embeded podatkovno bazo, ki naj bo samo ena za vse uporabnike. Je %ALLUSERSPROFILE% dobra izbira ?

Tr0n ::

Zakaj pa moras ravno v te direktorije dat in ne v dejasnki direktorij, kjer se aplikacija instalira?

l0g1t3ch ::

Zato ker v program files mapo nemoreš pisat če nisi admin user. Poleg tega je lepo če so stvari na pravih mestih.

infiniteLoop ::

@logitech
Raje dat en "if" not kot pa delati uporabniku probleme in smetit disk.


Kot je povedal ze Mavrik ne bi bilo napacno ce bi v aplikaciji imel en if stavek in ce uporabnik uporablja Windows uporabis APPDATA, durgace pa
"user.home/.imeMojegaPrograma" glede na to, da APPDATA ne obstaja na nobenem drugem OS. Skoda bi bilo, da bi se samo zaradi take podrobnosti zaklenil na samo eno druzino OS.
None of us is as dumb as all of us.

l0g1t3ch ::

Sej imam sedaj v appdata tisto kar je specifično za vsakega uporabnika pa tudi tist if imam za preverjanje OSa. Nisem pa siguren kam dati zadeve,ki so skupne vsem uporabnikom. V mojem primeru gre za embeded podatkovno bazo in še kup druge solate, skupaj cca 50mb. V program files ne more ker tja nemoreš pisati če nisi admin. Nebi pa vsakemu uporabniku posebej nasmetil teh 50mb.

infiniteLoop ::

Za winse ne vem ampak na *nix okoljih ce so zadeve pravilno skonfigurirane ponavadi lahko pises samo v home folder. Tak, da lahko ali zahtevas root pravice pri namestitvi ali pa pac namestis to solato za vsakega uporabnika posebaj. Verjetno je podobno tudi na winsih.
None of us is as dumb as all of us.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

bitlocker

Oddelek: Informacijska varnost
62231 (1804) jukoz
»

Kje vse delovanje utorrenta pusti sledi?

Oddelek: Omrežja in internet
71798 (1535) Joze_K
»

Kam se shranijo zaznamki v Mozilla Firefox

Oddelek: Programska oprema
142061 (1669) PARTyZAN
»

java(netbeans)

Oddelek: Programiranje
81444 (1313) l0g1t3ch
»

Preprosta *.bat skripta

Oddelek: Programiranje
81200 (982) lopov

Več podobnih tem