Java - Properties

제훈·2024년 7월 24일

Java

목록 보기
25/34

자료구조 - Hash (Java - HashMap)

위 작성글에 이어 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 파일도 된다.

  1. 데이터를 저장하는데 사용되는 setProperty()는 단순히 Hashtable의 put메서드를 호출

  2. setProperty()는 기존에 같은 키로 저장된 값이 있는 경우 그 값을 Object타입으로 반환하며, 그렇지 않을 경우 null을 반환함.

  3. getProperty()properties에 저장된 값을 읽어오는 일을 하는데 만일 읽어오려는 키가 존재하지 않으면 지정된 기본값을 반환함.

profile
백엔드 개발자 꿈나무

0개의 댓글