±ÔÄ¢1: properties ÆÄÀÏÀº Text ÆÄÀÏÀ̸ç, ´ÙÀ½°ú °°Àº ÇüÅÂÀÇ À̸§µéÀ» °¡Áú ¼ö ÀÖ½À´Ï´Ù.
MyResource_ko_KR_IBMeucKR.properties
MyResource_ko_KR.properties
MyResource_ko.properties
MyResource_en_US.properties
MyResource_en.properties
MyResource.properties
baseclass "_" language1 "_" country1 "_" variant1
baseclass "_" language1 "_" country1
baseclass "_" language1
baseclass
Áï, ÀÚµ¿À¸·Î JVMÀÇ Locale Á¤º¸¸¦ ã¾Æ¼ À§ ¼ø¼´ë·Î ÇÁ·ÎÆÛƼ ÆÄÀÏÀ» ¼øÂ÷ÀûÀ¸·Î ã¾Æ
³ª°©´Ï´Ù.
Locale ¿É¼ÇÀ» ÁÖÁö ¾ÊÀ¸¸é, Locale.getDefault()¸¦ »ç¿ëÇÏ°Ô µË´Ï´Ù.
System.out.println(Locale.getDefault()) ÇØ º¸½Ã¸é È®ÀÎÀÌ °¡´ÉÇϸç, ÀÌ °ªÀº
"file.encoding" À̶ó´Â System Property °ª¿¡ ÀÇÇØ ¿µÇâÀ» ¹ÞÀ¸¸ç, ÀÌ°ÍÀº ´Ù½Ã
ȯ°æº¯¼ö "LANG" °ª¿¡ ¿µÇâÀ» ¹Þ½À´Ï´Ù.
ÀÌ ±â´ÉÀ» ÀÌ¿ëÇÏ¿©, Locale °ªÀÌ ¹«¾ùÀ̳Ŀ¡ µû¶ó ¼·Î ´Ù¸¥ ¹®ÀÚ¿À» ÇÁ·Î±×·¥³»¿¡¼
Á¦°øÇÒ ¼ö ÀÖ°Ô µÇ´Â °ÍÀÌÁö¿ä...
Áï, ¾Æ·¡¿Í °°Àº ¼·Î ´Ù¸¥ À̸§ÀÇ resource ÆÄÀÏÀ» µÎ°Ô µÇ¸é, ¿µ¾î¿Í ÇÑ±Û ¹®ÀÚ¿À»
Locale °ª¿¡ µû¶ó ¼·Î ´Ù¸£°Ô Á¦°øÇÒ ¼ö ÀÖ´Â °ÍÀÌÁö¿ä.
MyResource_ko.properties
MyResource_en.properties
MyResource.properties <--- À̵µÀúµµ ¾Æ´Ò ¶§ »ç¿ëµÇ´Â defualt
±ÔÄ¢2: À§ÀÇ ÇØ´ç properties ÆÄÀÏÀº classpath ¿¡ ÀâÇô ÀÖ´Â °÷¿¡ ÀÖ¾î¾ß Çϸç,
¸¸¾à, package ·Î ±¸ºÐµÈ sub directory ¿¡ µÎ¾ú´Ù¸é, ¹Ýµå½Ã full path ¸¦ ÁÖ¾î¾ß
ÇÕ´Ï´Ù.
ResourceBundle resource =
ResourceBundle.getBundle("org.jsn.somewhere.MyResource")
±×¸®°í, MyResource_??_??.properties ÆÄÀϵé(!)Àº org/jsn/somewhere/ ÇϺΠµð·ºÅ丮¿¡
³õ¿© ÀÖ¾î¾ß ÇÕ´Ï´Ù.
ÇØ´ç properties ÆÄÀϵéÀº jar ÆÄÀϳ»¿¡ ÇÔ²² ¹¾î µÎ¾îµµ µË´Ï´Ù.
±ÔÄ¢3: properties ÆÄÀϵéÀº ´ÙÀ½°ú °°Àº Æ÷¸äÀ¸·Î ±¸¼ºµÇ¾î ÀÖ½À´Ï´Ù.
----------------------------------------------------------------------
# 1. key = value_string À¸·Î ±â¼úµÈ´Ù.
# 2. Comment ´Â '#'À¸·Î ½ÃÀÛµÇ¸é µÇ³ª, ¹®ÀÚ¿ Áß°£¿¡ ÀÖ´Â '#'±âÈ£´Â Comment·Î
# ÀνÄÇÏÁö ¾Ê´Â´Ù.
# 3. '=' ´ë½Å ' '(°ø¹é)À» »ç¿ëÇصµ µÈ´Ù.
# (Áï ù¹ø° ³ª¿À´Â °ø¹éÀÌ key¿Í vlaue string¸¦ ³ª´©´Â ±¸½Çµµ ÇÑ´Ù.
# 4. 3¹øÀÇ ÀÌÀ¯·Î ÀÎÇÏ¿© key¿¡´Â Áß°£¿¡ °ø¹éÀÌ Çã¿ëµÇÁö ¾Ê´Â´Ù.
# 5. ¹Ý¸é, value string¿¡´Â °ø¹éÀÌ Çã¿ëµÈ´Ù.
# 6. value string¸¦ »ç¿ëÇÒ ¶§ ÇѱÛÀÌ Áö¿øµÈ´Ù. ±×·¯³ª key´Â ÇѱÛÁö¿øÀÌ ¾ÈµÈ´Ù.
# 7. µÎ ÁÙ ÀÌ»óÀ» »ç¿ëÇÏ·Á¸é ¶óÀÎÀÇ ³¡¿¡ '\' ¹®ÀÚ¸¦ »ç¿ëÇÏ¸é µÈ´Ù.
# '\'¹®ÀÚ ÀÚü°¡ ÇÊ¿äÇÒ ¶© '\' ´ë½Å '\\'À» »ç¿ëÇ϶ó.
# 8. 7¹øÀÇ ÀÌÀ¯·Î ÀÎÇÏ¿© Windows ȯ°æ¿¡¼ µð·ºÅ丮 ±¸ºÐÀº '\'°¡ ¾Æ´Ï¶ó '\\' ÀÌ´Ù.
key = value
name = ÀÌ¿ø¿µ
.....
----------------------------------------------------------------------
±ÔÄ¢4: ÇѱÛÀº 8859_1 ij¸¯ÅÍ ¼ÂÀ¸·Î¸¸ ÀÐÇô Áý´Ï´Ù. µû¶ó¼, JVMÀÇ ÀÎÄÚµùÀÌ 8859_1 ÀÌ
¾Æ´Ï¶ó¸é, ´ÙÀ½Ã³·³ º¯È¯ÇÏ¿©¾ß ÇÕ´Ï´Ù. file.encoding ÀÌ "KSC5601" À̶ó¸é,
ResourceBundle resource = ResourceBundle.getBundle("resource.MyResource");
System.out.println(Locale.getDefault());
System.out.println(resource.getString("name"));
System.out.println(new String(resource.getString("name").getBytes("8859_1"),"KSC5601"));
³»ºÎÀûÀ¸·Î ClassLoader.getResourceAsStream(filename); ÀÇ ÇüÅ·ΠÀÐÇô µéÀ̱â
¶§¹®ÀÔ´Ï´Ù.
º¸´Ù ÀÚ¼¼ÇÑ »çÇ×Àº ÇØ´ç Ŭ·¡½ºÀÇ API ¹®¼¿Í JDK ¼Ò½º¸¦ Á÷Á¢ ÀÐ¾î º¸½Ã±æ ¹Ù¶ø´Ï´Ù.
°¡Àå »¡¸®/Á¤È®È÷/±íÀÌÀÖ°Ô °øºÎÇÏ´Â Áö¸§±æÀÔ´Ï´Ù.
-------------------------------------------------------
º» ¹®¼´Â ÀÚÀ¯·Ó°Ô ¹èÆ÷/º¹»ç ÇÒ ¼ö ÀÖÀ¸³ª ¹Ýµå½Ã
ÀÌ ¹®¼ÀÇ ÀúÀÚ¿¡ ´ëÇÑ ¾ð±ÞÀ» »èÁ¦ÇÏ½Ã¸é ¾ÈµË´Ï´Ù
================================================
ÀÚ¹Ù¼ºñ½º³Ý ÀÌ¿ø¿µ
E-mail: javaservice@hanmail.net
PCS:011-898-7904
================================================
Ãâó : http://www.javaservice.net/~java/bbs/read.cgi?m=devtip&b=javatip&c=r_p&n=993541416&p=13&s=t