시소당
util 패키지에 있는 Properties 클래스는 Hashtable의 하위 클래스로서 속성을 Stream에 보관하거나 Stream로부터 로드하거나 할 수가 있다. 즉 자주사용하는 데이터라든지(예를 들어 데이터베이스에 접속할때 필요한 아이디나 패스워드등) 보관해야할 값들을 저장, 로드하는 기능을 한다. 저장시에는 "="를 기준으로 속성 = 값으로 쌍을 이루어서 저장이 되며 읽어들일때에는 getProperty("속성")으로 읽어들인다.
사용하는 법은 간단하다.
% ini 파일에 저장하기
1. Properties 클래스 객체를 생성한다.
Properties p = new Properties();
2. 출력스트림을 생성한다.
FileOutputStream out = new FileOutputStream("user.ini");
3. 파일에 내용을 작성, 출력한다.
p.setProperty ("키","속성값");
p.store(OutputStream out, String header);
% ini 파일에서 내용 읽기
1. Properties 클래스 객체를 생성한다.
Properties p = new Properties();
2. 입력스트림을 생성한다.
FileInputStream out = new FileInputStream("user.ini");
3. 파일에 내용을 읽어들인다.
p.getProperty("키");
4. 만약 파일의 내용을 모른다든지 디버그용으로 다음 메서드를 이용해서 전체 내용을 출력해 준다.
p.list(System.out);
전체 소스를 보자.(ProperTest,java)
다음소스를 실행을 시키면 "user.ini"파일 생성되고 내용이 저장됨을 확인할 수가 있다.
import java.util.*;
import java.io.*;
class ProperTest{
Properties p = new Properties();
public void writeINI(){
try{
FileOutputStream out = new FileOutputStream("user.ini");
p.setProperty ("id","hohoho");
p.setProperty ("pass","1111");
p.setProperty ("words","hello");
p.store(out,"-- Properties --");
out.close();
}catch (Exception e) {
System.out.println(e);
}
}
public void readINI(){
try{
p.load(new FileInputStream("user.ini"));
System.out.println("id = " + p.getProperty("id"));
System.out.println("pass = " + p.getProperty("pass"));
System.out.println("words = " + p.getProperty("words"));
p.list(System.out);
}catch (Exception e) {
System.out.println(e);
}
}
public static void main(String[] args) {
ProperTest pt=new ProperTest();
pt.writeINI();
pt.readINI();
}
}
출처 : http://nbbs.naver.com/nmulti/read.php?board_id=histidine_0&nid=492