|
Preferences API |
$B%I%-%e%a%s%H$NL\ |
Preferences $B%/%i%9(B$BFb$N%a%=%C%I$O!"C10l(B JVM $BFb$NJ#?t%9%l%C%I$K$h$C$FF1;~$K8F$S=P$5$l$^$9!#$3$N$H$-!"30ItF14|$r9T$&I,MW$O$"$j$^$;$s!#C`l9g$HF1$87k2L$K$J$j$^$9!#(B $B$3$N%/%i%9$,J#?t$N(B JVM $B$K$h$C$FF1;~$K;HMQ$5$l!"@_Dj%G!<%?$,F1$8%P%C%-%s%0%9%H%"$K3JG<$5$l$?>l9g!"%G!<%?%9%H%"$OGK2u$7$^$;$s$,!"@_Dj%G!<%?$N0l4S@-$OJ]>Z$5$l$^$;$s!#(B
$B>\:Y$K$D$$$F$O!"0J2<$N%j%s%/$+$iA*Br$7$F$/$@$5$$!#(B
$B@_Dj$*$h$S9=@.%G!<%?$O!"B?$/$N>l9g!"(Bjava.util.Properties API $B$r;HMQ$7$F%W%m%Q%F%#%U%!%$%k$K%"%/%;%9$7!"$3$N%U%!%$%k$K3JG<$7$F$$$^$7$?!#(B $B$?$@$7!"%G%#%9%/>e$G$N%U%!%$%k$N0LCV$^$?$O%U%!%$%k$NL>A0$K4X$9$kI8=`$OB8:_$7$^$;$s$G$7$?!#(B $B$3$N>l9g!"%f!<%6$N@_Dj%G!<%?$N%P%C%/%"%C%W:n@.$d!"%^%7%s4V$N%G!<%?E>Aw$,:$Fq$K$J$j$^$9!#(B $B%"%W%j%1!<%7%g%s?t$,A}2C$9$k$K$D$l$F!"%U%!%$%kL>$,=EJ#$9$k2DG=@-$,9b$/$J$j$^$9!#(B $B$^$?!"%m!<%+%k%G%#%9%/$,B8:_$7$J$$>l9g!"$^$?$O%G!<%?$r30It%G!<%?%9%H%"(B ($B4k6HA40h$K$o$?$k(B LDAP $B%G%#%l%/%H%j%5!<%S%9$J$I$N(B) $B$KJ]B8$9$k>l9g$K$O!"$3$NJ}K!$O;HMQ$G$-$^$;$s!#(B
$BE,MQNc$O>/$J$/$J$j$^$9$,!"(BJNDI (Java Naming and Directory Interface) API $B$r;HMQ$7$F%G%#%l%/%H%j%5!<%S%9$K%"%/%;%9$7!"$=$3$K3JG<$9$k>l9g$b$"$j$^$7$?!#(B Properties API $B$H0[$J$j!"(BJNDI $B$G$O!"G$0U$N%G!<%?%9%H%"$r;HMQ$G$-$^$9(B ($B%P%C%/%(%s%I$NCfN)@-(B)$B!#(B JNDI $B$O6/NO$J(B API $B$G$9$,!"%5%$%:$,Hf3SE*Bg$-$/!"(B5 $B$D$N%Q%C%1!<%8$H(B 83 $B$N%/%i%9$+$i9=@.$5$l$^$9!#(B JNDI $B$K$O!"%G%#%l%/%H%jL>A06u4VFb$G@_Dj%G!<%?$r3JG<$9$k>l=j!"$^$?$O3JG<$9$kL>A06u4V$K4X$9$k%]%j%7!<$,B8:_$7$^$;$s!#(B
Properties $B$*$h$S(B JNDI $B$K$O!"C1=c$G!"HFMQE*$J!"%P%C%/%(%s%I$NCfN)@-$r;}$D@_Dj4IM}5!G=$O$"$j$^$;$s!#(B Preferences API $B$G$O!"(BProperties API $B$NC1=c$5$H(B JNDI $B$N%P%C%/%(%s%I$NCfN)@-$,F1;~$K $B Preferences API $B$O!"(BProperties $B%/%i%9$N;HMQIQEY$N9b$$%W%m%Q%F%#$rCV$-49$($kL\E*$G@_7W$5$l$F$*$j!"7ZNL$5$r0];}$7$J$,$i!"$5$^$6$^$JE@$rD{@5$7$F$$$^$9!#(B Properties API $B$r;HMQ$9$k$H$-$O!"3F%W%m%Q%F%#%U%!%$%k$N%Q%9L>$rL@<(E*$K;XDj$9$kI,MW$,$"$j$^$9!#$?$@$7!"%W%m%Q%F%#%U%!%$%k$NI8=`$N>l=j$^$?$OL>A0$N5,Ls$O$"$j$^$;$s!#(B $B%W%m%Q%F%#%U%!%$%k$OG$0U$KJT=8$G$-$^$9$,!"GK2u$7$d$9$$$?$a!"?5=E$KJT=8$9$kI,MW$,$"$j$^$9!#(B Properties API $B$G$O!"J8;zNs0J30$N%G!<%?7?$O;HMQ$G$-$^$;$s!#(B Properteis API $B$N;}B3@-$rJ];}$9$k$K$O!"%U%!%$%k%7%9%F%`$r;HMQ$9$kI,MW$,$"$j$^$9!#(B $B$3$l$i$N$3$H$+$i!"(BProperties API $B$K$O3HD%@-$O$"$j$^$;$s!#(B
Preferences API $B$G$O!"(BJNDI $B$HF1MM$K!";}B3E*$J%-!<(B/$BCM$N%G!<%?$K%"%/%;%9$9$k$H$-$K!"%P%C%/%(%s%I$NCfN)@-$,3NJ]$5$l$^$9!#(B $B$?$@$7!"(BJINDI $B$O6/NO$J=ENL%$%s%?%U%'!<%9$G$9!#(B JNDI $B$O!"6/NO$J5!G=$rI,MW$H$9$k4k6H%"%W%j%1!<%7%g%s$KE,$7$F$$$^$9!#(B Preferences API $B$O!"C1=c$G!"HFMQE*$J!"%P%C%/%(%s%I$NCfN)@-$r;}$D@_Dj4IM}5!G=$H$7$F@_7W$5$l$F$$$^$9!#$"$i$f$k(B Java $B%"%W%j%1!<%7%g%s$NF0:n$r!"%f!<%6$NMWK>$K9g$o$;$F4JC1$KD4@0$G$-$^$9!#$^$?!"%"%W%j%1!<%7%g%s$N
$B%"%W%j%1!<%7%g%s$KE,@Z$J%G%U%)%k%HCM$rEO$9$3$H$K$h$C$F!"%j%]%8%H%j$,MxMQ$G$-$J$$>l9g$G$b!"%"%W%j%1!<%7%g%s$O$=$N%G%U%)%k%HCM$G $B$3$NNc30$r%9%m!<$9$k%a%=%C%I$O!"$=$N%;%^%s%F%#%/%9$,%P%C%-%s%0%9%H%"$H$NDL?.$r>o$KI,MW$H$7$F$$$k%a%=%C%I$@$1$G$9!#(B $BDL>o$N%"%W%j%1!<%7%g%s$G$O!"$3$N$h$&$J%a%=%C%I$r8F$S=P$9I,MW$O$"$j$^$;$s!#(B $B%P%C%-%s%0%9%H%"$rMxMQ$G$-$J$$>l9g$G$b!"$3$N$h$&$J%a%=%C%I$r8F$S=P$5$J$$8B$j!"%"%W%j%1!<%7%g%s$r $B$3$N(B API $B$O!";}B3@-$N$"$k4pK\E*$J%G!<%?5-210h$H$7$F;HMQ$7!"%G!<%?%Y!<%9$NBe$o$j$H$7$F$O;HMQ$7$^$;$s!#(B $B$3$N(B API $B$O!"I8=`$N@_Dj(B/$B9=@.%j%]%8%H%j>e$K Java $B%W%m%0%i%_%s%08@8l$G$O!"BgJ8;z$H>.J8;z$,6hJL$5$l$k(B String $B%-!<$,0lHLE*$G$9!#(B $BFC$K!"(BString $B%-!<$O!"(BProperties $B%/%i%9$K$h$C$FDs6!$5$l$^$9!#$3$N(B API $B$O!"(BProperties $B%/%i%9$rCV$-49$($kL\E*$G@_7W$5$l$F$$$^$9!#(B Properties $B$r;HMQ$9$k$H$-$K!"BgJ8;z$H>.J8;z$r6hJL$9$k$3$H$b$"$j$^$9!#(B $B$?$H$($P!"(BJava $B%Q%C%1!<%8L>$r%-!<$H$7$F;HMQ$9$k$H$-$K!"BgJ8;z$H>.J8;z$r6hJL$9$k$3$H$,$"$j$^$9!#(B $B%-!<$NBgJ8;z$H>.J8;z$r6hJL$9$k$H!"$=$N%-!<$r;HMQ$7$F%P%C%-%s%0%9%H%">e$K(B Preferences $B$r $B$3$N(B API $B$O!"FCDj$NL\E*$K9g$o$;$F@_7W$*$h$S:GE,2=$5$l$F$$$^$9!#(B $B$3$N(B API $B$G$OHFMQ%G!<%?7?$r;HMQ$G$-$^$;$s(B ( JSR-14 $B$r;2>H(B)$B!#$3$N$?$a!"I8=`E*$J%f!<%6$K$H$C$F$OB?>/;H$$$K$/$$$+$b$7$l$^$;$s!#(B Map API $B$X$N=`5r$,E,MQ$5$l$F$$$k>l9g$G$b!"%3%s%Q%$%k;~$K7?J]>Z$7$^$;$s!#(B $B$^$?!"B>$N(B Map $B put $B$*$h$S(B remove $B7O$N%a%=%C%I$O!"%P%C%-%s%0%9%H%"$,MxMQ$G$-$J$$>l9g$G$b!"
$BJ]B8:Q$_%G%U%)%k%H$O!"4k6H@_Dj$KI,MW$J5!G=$G$9!#$D$^$j!"4k6HA4BN$N@_Dj$r4IM}$9$k$H$-$N3HD%@-$*$h$SHqMQ8zN($r8~>e$5$;$k$3$H$,$G$-$^$9!#$7$+$7!"C10l%f!<%6$N@_Dj$r%f!<%6<+?H$,4IM}$9$k>l9g$K$O!"2a>j$J5!G=$G$9!#(B
$BD>Ns2=2DG=%*%V%8%'%/%H$O!"2u$l$d$9$$%*%V%8%'%/%H$G$9!#$3$N$h$&$J%W%m%Q%F%#$rFI$_
$B?7$7$$%a%=%C%I$rDI2C$9$k$H$-$K>eJ}8_49@-$rJ]>Z$9$k$3$H$O!"(BPreferences $B$r!V(Bmixin$B!W$H$7$F;HMQ$G$-$J$/$J$kC;=j(B ($BG$0U$N%/%i%9$r(B Preferences $B%*%V%8%'%/%H$H$7$F5!G=$5$;$k$3$H$,$G$-$J$$(B) $B$r>e2s$k$HH=CG$7$^$7$?!#(B $B$^$?!"(Bstatic $B%a%=%C%IMQ$N%/%i%9$r8DJL$KMQ0U$9$kI,MW$,$J$/$J$j$^$9!#(B $B%$%s%?%U%'!<%9$K$O!"(Bstatic $B%a%=%C%I$rAH$_9~$`$3$H$O$G$-$^$;$s!#(B
Copyright © 2002 Sun Microsystems, Inc. All Rights Reserved.
$B;HMQ>e$NCm0U(B
$B$3$3$G$O!"(BPreferences API $B$N;EMM$r@bL@$9$k$N$G$O$J$/!"(BPreferences API $B$N;HMQNc$r$$$/$D$+<($7$^$9!#(B
$BJq4^%/%i%9$N(B Preferences $B%*%V%8%'%/%H$r
NUM_ROWS $B$*$h$S(B NUM_COLS) $B$H$7$F;HMQ$5$l$F$$$^$9!#(B $B$3$N$h$&$K$9$k$H!"%-!
package com.acme.widget;
import java.util.prefs.*;
public class Gadget {
// Preference keys for this package
private static final String NUM_ROWS = "num_rows";
private static final String NUM_COLS = "num_cols";
void foo() {
Preferences prefs = Preferences.userNodeForPackage(this);
int numRows = prefs.getInt(NUM_ROWS, 40);
int numCols = prefs.getInt(NUM_COLS, 80);
...
}
}
$B>e$NNc$G$O!"%f!<%6$4$H$N@_DjCM$rStatic $B%a%=%C%I$N(B Preferences $B%*%V%8%'%/%H$r
Static String ourNodeName = "/com/acme/widget";
static void foo() {
Preferences prefs = Preferences.userRoot().node(ourNodeName);
...
}
$BDL>o$O!"%7%9%F%`@_Dj%*%V%8%'%/%H$r=i4|2=;RFb$G(B 1 $B2suserNodeForPackage $B$*$h$S(B userRoot $B$,8F$S=P$7B&$N%/%i%$%"%s%H$KBP$7$FE,@Z$J%N!<%I$rJV$7$^$9!#$D$^$j!"(BuserNodeForPackage $B$^$?$O(B userRoot $B$X$N8F$S=P$7$O!"E,@Z$J%9%l%C%I$+$iE,@Z$J%?%$%_%s%0$K9T$&$3$H$,=EMW$K$J$C$F$-$^$9!#(B $B$3$N$h$&$J%5!<%P4D6-$G%3!<%I$r;HMQ$9$k>l9g$O!";HMQ$9$kD>A0$K%f!<%6@_Dj%*%V%8%'%/%H$r$BIT2DJ,$J99?7(B
Preferences API $B$K$O!"J#?t$N@_Dj$,IT2DJ,$KJQ99$5$l$k%H%i%s%6%/%7%g%s$K;w$?%G!<%?%Y!<%9$O$"$j$^$;$s!#(B $B$?$@$7!"J#?t$N@_Dj$r99?7$9$k$H$-$O!"(B1 $BC10L$G9T$&I,MW$,$"$j$^$9!#(B $B$?$H$($P!"(Bx $B:BI8$H(B y $B:BI8$r3JG<$7$F!"$=$3$K%&%#%s%I%&$rG[CV$9$k$3$H$rA[Dj$7$^$9!#(B $BIT2DJ,$K99?7$9$k$K$O!"$3$l$i$NCM$rC10l$N@_Dj$K3JG<$7$^$9!#(B $B$5$^$6$^$JJ}K!$G%3!<%G%#%s%0$G$-$^$9$,!"(B $B$3$3$G$O4JC1$JNc$r<($7$^$9!#(B
int x, y;
...
prefs.put(POSITION, x + "," + y);
$B$3$N$h$&$JJ#9g@_Dj$rFI$_9~$`$H$-$O!"I|9f2=$9$kI,MW$,$"$j$^$9!#(B $B0BDj@-$r3NJ]$9$k$?$a$K!"CM$,GK2u$7$?(B ($B2r@OIT2DG=$J(B) $B>l9g$r9MN8$9$kI,MW$,$"$j$^$9!#(B
static int X_DEFAULT = 50, Y_DEFAULT = 25;
void baz() {
String position = prefs.get(POSITION, X_DEFAULT + "," + Y_DEFAULT);
int x, y;
try {
int i = position.indexOf(',');
x = Integer.parseInt(coordinates.substring(0, i));
y = Integer.parseInt(position.substring(i + 1));
} catch (Exception e) {
// Value was corrupt, just use defaults
x = X_DEFAULT;
y = Y_DEFAULT;
}
...
}
$B%P%C%-%s%0%9%H%"$N%9%F!<%?%9$rH=CG$9$k(B
$BI8=`$N%"%W%j%1!<%7%g%s%3!<%I$G$O!"%P%C%-%s%0%9%H%"$rMxMQ$G$-$k$+$I$&$+$K4X$9$k>pJs$OI,MW$"$j$^$;$s!#(B $B$[$H$s$I$N>l9g!"%P%C%-%s%0%9%H%"$O>o$KMxMQ$G$-$^$9!#MxMQ$G$-$J$$>l9g$O!"%P%C%-%s%0%9%H%"Fb$N@_DjCM$NBe$o$j$K%G%U%)%k%HCM$r;HMQ$7$F!"
Java $B%3%l%/%7%g%s(B API $B$N@_7W$K4X$9$k(B FAQ
$B$3$3$G$O!"(BPreferences API $B$N@_7W$K4X$9$k(B FAQ $B$r$^$H$a$F$"$j$^$9!#(B
get $B%a%=%C%I$+$i8F$S=P$7B&$K%G%U%)%k%H$rEO$9I,MW$,$"$k$N$O$J$<$G$9$+!#(B
BackingStoreException $B$r%9%m!<$9$k%a%=%C%I$O!"$I$N$h$&$K$7$F7hDj$5$l$?$N$G$9$+!#(B
Preferences $B$,%$%s%?%U%'!<%9$G$J$/!"Cj>]%/%i%9$J$N$O$J$<$G$9$+!#(B
Java $B%=%U%H%&%'%"(B