Properties
클래스는 자바에서 프로그램 설정이나 구성 정보를 관리할 때 매우 유용하게 사용됩니다. 이 클래스는 Map
인터페이스를 구현한 특수한 형태로, 키-값 쌍을 문자열(String)로 저장하며, 설정 정보를 파일로 저장하거나 파일에서 읽어오는 기능을 제공합니다.
Properties
클래스는 store()
메서드를 이용하여 키-값 쌍을 파일에 저장할 수 있습니다. 이때, FileWriter
또는 OutputStream
을 사용하여 파일에 저장할 수 있습니다.
Properties
를 파일로 저장package com.io1;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;
public class IOEx19 {
public static void main(String[] args) {
// Properties 객체 생성
Properties prop = new Properties();
// 키-값 쌍 추가
prop.setProperty("id", "andy");
prop.setProperty("password", "1234");
prop.setProperty("grade", "A");
FileWriter fw = null;
try {
fw = new FileWriter("./config.properties");
// 두 번째 인자는 파일에 대한 설명 (주석으로 저장됨)
prop.store(fw, "System Config");
System.out.println("저장 완료");
} catch (IOException e) {
System.out.println("[에러] " + e.getMessage());
} finally {
if (fw != null) { try { fw.close(); } catch (IOException e) {} }
}
}
}
config.properties
)# System Config
# Tue Oct 24 11:30:45 KST 2024
id=andy
password=1234
grade=A
store()
메서드에 전달된 설명과 저장된 날짜입니다.저장된 Properties
파일을 불러오려면 load() 메서드를 사용하여 파일의 내용을 키-값 쌍으로 메모리에 로드할 수 있습니다.
Properties
읽기package com.io1.properties;
import java.io.FileReader;
import java.io.IOException;
import java.util.Properties;
public class IOEx20 {
public static void main(String[] args) {
FileReader fr = null;
try {
fr = new FileReader("./config.properties");
Properties prop = new Properties();
prop.load(fr); // 파일에서 설정 정보 읽기
System.out.println(prop); // 저장된 모든 키-값 쌍 출력
} catch (IOException e) {
System.out.println("[에러] " + e.getMessage());
} finally {
if (fr != null) { try { fr.close(); } catch (IOException e) {} }
}
}
}
{password=1234, grade=A, id=andy}
load()
메서드를 사용하여 파일에 저장된 키-값 쌍을 프로그램 내에서 쉽게 불러와 사용할 수 있습니다.
Properties
클래스를 사용하면 프로그램 설정이나 환경 정보를 외부 파일로 관리할 수 있어, 프로그램을 수정하지 않고도 설정 파일만 변경하여 구성을 바꿀 수 있습니다. 예를 들어, 데이터베이스 설정, 사용자 인증 정보 등을 쉽게 관리할 수 있습니다.
store()
메서드로 파일 저장store(Writer writer, String comments)
는 키-값 쌍을 파일에 저장하고, 주석으로 설명을 추가할 수 있습니다.load()
메서드로 파일 읽기load(Reader reader)
는 파일에 저장된 설정 정보를 불러와서 Properties
객체에 저장합니다.Properties
클래스는 설정 파일을 읽고 쓰는 데 매우 유용하며, 구성 정보를 관리하는 데 적합합니다.