JAKARTAPROJECT
JAKARTA TIPJSP TIPJSP 질문&답변DATABASE TIPJAVASCRIPT TIPWEBHACKING TIP기타 TIP
잡동사니 팁
잡동사니 팁
알고게신 여러가지 팁들을 올려주세요
java에서 properties 활용 가이드 라인
kaiser
이미지 슬라이더 보기

규칙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 캐릭터 셋으로만 읽혀 집니다. 따라서, 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

2007-12-21 15:01:30
211.189.124.***

서현사랑~ 안녕 안녕 나의 아기별~~

0점 (0명)
덧글 0개 | 태그 0개 | 관련글보기
태그입력
쉽표(,)구분으로 한번에 여러 태그를 입력할수 있습니다
이름 비밀번호
잡동사니 팁
알고게신 여러가지 팁들을 올려주세요
! 번호 제목 글쓴이 일자 조회
기타 툴이나 시스템에 관련된 TIP 게시판 입니다 GoodBug 2005-04-22 5,764
73 좋은레포트 쓰기 kaiser 2009-01-01 6,055
72 이클립스 실행때 에러나는 것 해결방법-Eclipse Ganymede kaiser 2008-10-21 6,783
71 CPU 개수 확인 명령어 kaiser 2008-06-17 7,909
70 svmon svmon 명령어 1 GoodBug 2008-04-11 6,932
69 find grep find 에 정규식 포함한 예제 1 kaiser 2008-04-08 10,371
68 UNIX에서 날짜 가져오기 lkwww 2008-01-29 9,950
67 개행문자 시스템별 개행문자 1 GoodBug 2008-01-07 8,551
66 JDBC 오라클에서 jdbc 드라이버를 10g 이상 사용하라고 하네요 1 1 kaiser 2008-01-03 8,237
java에서 properties 활용 가이드 라인 kaiser 2007-12-21 10,521
64 MSTR MicroStrategy (MSTR) 용어 1 GoodBug 2007-11-28 7,646
63 svn 윈도우용 Subvision 설치와 활용(v1.4.5) with subclipse 초간단 버전 2 2 pearl짓거리 전문 2007-11-16 7,192
62 port Unix 시스템 포트번호 2 GoodBug 2007-11-16 6,037
61 MIME MIME 타입 총정리 1 GoodBug 2007-10-27 6,777
60 쉘 스크립트 파일식 GoodBug 2007-09-07 6,925
59 터미널서비스 터미널서비스 원격 접속 로그 확인하는 방법 1 GoodBug 2007-08-20 17,687
58 unix DBA가 알아야 하는 유닉스 명령어 1 kaiser 2007-02-28 6,751
57 shell 수 비교 GoodBug 2007-01-09 5,517
56 네트워크 드라이브 dos에서 잡는 방법 kaiser 2006-11-09 7,853
55 windows xp 시디키 변경 1 kaiser 2006-11-08 10,868
copyright 2005-2018 by Unicorn