속성 파일에서 다른 속성을 참조 할 수 있습니까 (aude $ {property}) [복제

StackOverflow https://stackoverflow.com/questions/1412132

문제

가능한 복제 :
java.util.properties에서 다른 속성을 참조하는 방법?

내 "file.properties"를보세요 :

key1= My name is
key2= ${key1} Martin !

"Key2"의 가치를 얻을 때 왜 내 결과는 "$ {key1} Martin!" "내 이름은 마틴입니다!"

=> I 프로그램 6
=> 나는 java.util.properties를 사용합니다

도움이 되었습니까?

해결책

Apache 구성을보고 싶을 수도 있습니다.

http://commons.apache.org/configuration/

지원하는 많은 기능 중에는 다음과 같습니다 가변 보간.

다른 팁

당신이하고 싶은 것은 Java를 사용하는 것이 불가능합니다. Properties 수업.

속성 키와 값은 단순히 문자열입니다. 처리가 발생하지 않으므로 값의 다른 값을 언급 할 수 없습니다.

개미 파일은 스크립트입니다. 속성 파일은 문자열 버킷입니다.

속성 파일의 주요 목적은 번역 가능한 텍스트를위한 문자열 컨테이너 역할을하는 것입니다. 자원 번들에 일반적으로 사용되는 형식 문자열은 인덱스 기반 시스템을 사용합니다. 문자열이 번역되면 매개 변수의 순서는 Java 코드를 변경할 필요없이 번역 된 문자열 버전에서 변경 될 수 있습니다.

String what = "Hello";
String who = "Martin";
System.out.println(MessageFormat.format("{0}, {1}!", what, who));
System.out.println(MessageFormat.format("{1}, {0}!", what, who));

산출:

Hello, Martin!
Martin, Hello!

이와 같은 사용 사례의 경우 문자열이 일반적으로 응용 프로그램의 데이터가 필요하기 때문에 속성 클래스의 기능을 캡슐화하는 것은 의미가 없습니다. 그만큼 MessageFormat 클래스는 대체를 수행하는 데 사용될 수 있습니다.

이 유형의 형식은 다른 지정된 서식 옵션 형성:

System.out.format("%s, %s!%n", what, who);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top