위 작성글에 이어 Properties 에 대해서 같이 알아보자.
Hash와 비슷한데 String, String 형태로 저장하는 단순화된 Collection 클래스다.
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;
public class Application {
public static void main(String[] args) {
Properties prop = new Properties();
prop.setProperty("driver", "oracle.jdbc.drvier.OracleDriver");
prop.setProperty("url", "jdbc:oracle:thin:@localhost:1521:xe");
prop.setProperty("user", "swcamp");
prop.setProperty("password", "swcamp");
System.out.println("prop = " + prop);
}
}
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;
public class Application {
public static void main(String[] args) {
Properties prop = new Properties();
prop.setProperty("driver", "oracle.jdbc.drvier.OracleDriver");
prop.setProperty("url", "jdbc:oracle:thin:@localhost:1521:xe");
prop.setProperty("user", "swcamp");
prop.setProperty("password", "swcamp");
/* 설명. Properties를 활용한 설정정보 파일로 출력해 보기 */
try {
// prop.store(new FileOutputStream("driver.dat"), "jdbc driver");
prop.storeToXML(new FileOutputStream("driver.xml"), "jdbc driver xml version");
} catch (IOException e) {
throw new RuntimeException(e);
}
/* 설명. 저장된 설정 파일에서부터 읽어온 데이터를 담을 새로운 Properties 객체 */
Properties prop2 = new Properties();
System.out.println("읽어오기 전: " + prop2);
try {
// prop2.load(new FileInputStream("driver.dat"));
prop2.loadFromXML(new FileInputStream("driver.xml"));
} catch (IOException e) {
throw new RuntimeException(e);
}
System.out.println("읽어온 이후 =======================");
System.out.println("driver: " + prop2.getProperty("driver"));
System.out.println("url: " + prop2.getProperty("url"));
System.out.println("user: " + prop2.getProperty("user"));
System.out.println("password: " + prop2.getProperty("password"));
}
}
dat 파일도 되고 xml 파일도 된다.
데이터를 저장하는데 사용되는 setProperty()는 단순히 Hashtable의 put메서드를 호출
setProperty()는 기존에 같은 키로 저장된 값이 있는 경우 그 값을 Object타입으로 반환하며, 그렇지 않을 경우 null을 반환함.
getProperty()는 properties에 저장된 값을 읽어오는 일을 하는데 만일 읽어오려는 키가 존재하지 않으면 지정된 기본값을 반환함.