관리 메뉴

tapito.tistory.com

자바 프로그램에서 각종 내부 설정 관리 방법 본문

Programming Language/Java

자바 프로그램에서 각종 내부 설정 관리 방법

Tapito 2018.03.11 16:18

자바 프로그램에서 각종 내부 설정 관리 방법

Java 프로그램(Android Application 포함)에서 실행 도중 자체적인 설정 사항들을 관리하고자 할 때 사용할 수 있는 클래스로는 java.util.Properties가 있습니다. 이 클래스를 통해 텍스트 파일 형태로 응용 프로그램에서 내부적으로 사용하기 위한 각종 설정 값들을 저장하고 불러올 수 있습니다.

 

Properties 클래스를 통해 설정 값 저장하기

Properties 클래스를 통하여 설정 값을 저장하기 위해서는 setProperty메서드를 사용합니다.

Object java.util.Properties.setProperty(String key, String value);

 

key
설정 값에 부여될 이름입니다.
value
저장할 값입니다.

 

만일 key로 지정한 필드에 이전 값이 들어있다면 이를 반환합니다. value 매개변수로 들어온 새 값이 이 항목에 대체됩니다.

/* Example */
import java.util.Properties;
/* ... */
private static final String PROPERTY_FIELD1 = "field1";
/* ... */
Properties properties = null;
properties = new Properties();
/* ... */
properties.setProperty(PROPERTY_FIELD1, "Hello, World!");
/* ... */

 

Properties 클래스를 통해 설정 값 불러오기

Properties 클래스를 통하여 이전에 저장된 설정 값을 불러오기 위해서는 getProperty메서드를 사용합니다.

String java.util.Properties.getProperty(String key, String defaultValue);

 

key
값을 불러올 설정 항목 이름입니다.
defaultValue
지정한 이름의 설정 항목이 없을 경우 반환할 기본 값입니다.

 

설정 파일 내에 기록된 값, 또는 defaultValue로 지정된 값을 반환합니다.

/* Example */
import java.util.Properties;
/* ... */
private static final String PROPERTY_FIELD1 = "field1";
/* ... */
Properties properties = null;
properties = new Properties();
/* ... */
properties.getProperty(PROPERTY_FIELD1, null);
/* ... */

 

파일에 기록하기

파일에 영구적으로 설정 내용을 기록할 경우에는 store메서드에 FileOutputStream 클래스 인스턴스를 전달합니다.

void java.util.Properties.store(OutputStream out, String comments) throws IOException;

 

out
출력 스트림입니다.
comments
설정 파일에 추가할 부가적인 주석입니다.

 

/* Example */
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;
/* ... */
File file = null;
FileOutputStream fileOutputStream = null;
Properties properties = null;
/* ... */
file = new File("./test.txt"); // 설정 파일의 경로를 지정합니다.
try
{
    fileOutputStream = new FileOutputStream(file); // IOException
    properties.store(fileOutputStream, "This file is just a dummy."); // IOException
    fileOutputStream.flush(); // IOException
}
catch (IOException e)
{
    // ... 예외 처리
}
/* ... */

 

파일에서 설정 불러오기

파일에서 설정 항목들을 불러오기 위해서는 load 메서드에 FileInputStream 클래스 인스턴스를 전달합니다.

/* Example */
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;
/* ... */
File file = null;
FileInputStream fileInputStream = null;
Properties properties = null;
/* ... */
file = new File("./test.txt"); // 설정 파일의 경로를 지정합니다.
try
{
    fileInputStream = new FileInputStream(file); // FileNotFoundException
    properties.load(fileInputStream); // IOException
}
catch (FileNotFoundException e)
{
    // ... 예외 처리
}
catch (IOException e)
{
    // ... 예외 처리
}
/* ... */

 

0 Comments
댓글쓰기 폼