- 일반적으로 컴파일된 코드 외부에서 간단한 매개변수를 키-값-쌍으로 저장하기 위해 사용
- java.util.Properties
.properties 파일에서 키-값 쌍을 로드하는 예제
app.properties ▼
version = 1.0 name = TestApp date = 2016-11-12 |
catalog ▼
c1 = files c2 = images c3 = videos |
- .properties로 파일 명을 짓는게 좋으나, 필수는 아님
Properties instance 로 쉽게 load할 수 있다.
String rootPath =
Thread.currentThread().getContextClassLoader().getResource("").getPath();
String appConfigPath = rootPath + "app.properties";
String catalogConfigPath = rootPath + "catalog";
Properties appProps = new Properties();
appProps.load(new FileInputStream(appConfigPath));
Properties catalogProps = nnew Properties();
catalogProps.load(new FileInputStream(catalogConfigPath));
String appVersion = appProps.getProperty("version");
assertEquals("1.0", appVersion);
assertEquals("files", catalogProps.getProperty("c1"));
XML 파일에서 로드
properties 파일 외에도 properties 클래스는 특정 DTD 사양을 준수하는 XML 파일을 로드할 수 있음
- DTD란? 문서 타입 정의는 XML 문서의 구조 및 해당 문서에서 사용할 수 있는 적법한 요소와 속성을 정의함.
- 문법 : <!DOCTYPE 루트요소 DTD식별자 [ 선언1 선언2 ... ]
icons.xml
<?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properteis.dtd"> <properties> <comment>xml example</comment> <entry key="fileIcon">icon1.jpg</entry> <entry key="imageIcon">icon2.jpg</entry> <entry key="videoIcon">icon3.jpg</entry> </properties> |
로드
String rootPath =
Thread.currentThread().getContextClassLoader().getResource("").getPath();
String iconConfigPath = rootPath + "icons.xml";
Properties iconProps = new Properties();
iconProps.loadFromXML(new FileInputStream(iconConfigPath));
assertEquals("icon1.jpg",iconProps.getProperty("fileIcon"));
반응형
'JAVA' 카테고리의 다른 글
자바 정규표현식 Pattern, Matcher (0) | 2022.11.11 |
---|
댓글