티스토리 뷰
java Properties 사용하기
소스에 직접 값을 하드코딩하는 경우가 있습니다.
하지만 이럴 경우 유지보수도 힘들어 질뿐만 아니라 하드코딩된 변수가 많다면
일일이 소스에서 고쳐서 다시 컴파일을 해야 하는 과정을 거치므로 상당히 불편합니다.
이번에는 java Properties를 사용하여 파일에서 직접 값들을 설정하여 읽어오는 방법을
알아보도록 하겠습니다.
보통은 설정값등을 properties 파일로 빼 놓고 관리합니다.
다국어 언어 메세지 등등..
properties 파일의 쓰임새는 빈번하게 사용되고 있습니다.
Properties는 HashTable을 상속받아 구현한 컬렉션의 한종류입니다.
HashMap은 키와 값(Object, Object) 형태로 저장하는데 Properties는 오브젝트가 아닌 String형태로
저장하는 보다 간단한 컬렉션 클래스 입니다.
sample2.properties properties 파일에서 주석을 사용하려면 앞에 #을 붙히면 주석으로 인식합니다. --------------------------------------------------------------- test.success.delete=정상적으로 삭제되었습니다. 해당 파일은 한글로 작성되었으나 properties에서는 유니코드로 작성되어야 정상적인 한글이 출력됩니다. import java.io.FileInputStream; public class Test { @SuppressWarnings("unchecked") // 1.파일을 불러오기 출력값 test.select : 정상적으로 조회되었습니다.
해당 경로에 위치한 C:\\Users\\lee se jin\\eclipse-workspace\\org.eclipse.ui.examples.javaeditor\\sample2.properties 파일에 접근하여 test.select에 해당하는 값을 가져와 뿌려주고 있습니다.
여기서 키는 "test.select"에 해당됩니다.
pro.list(System.out);// 전체프로포티 값 출력. 해당 메소드는 전체 프로퍼티값을 출력합니다.
-------------------------------------------------------------------------------------
test.select=\uC815\uC0C1\uC801\uC73C\uB85C \uC870\uD68C\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
test.insert=\uc815\uc0c1\uc801\uc73c\ub85c \ub4f1\ub85d\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
test.update=\uc815\uc0c1\uc801\uc73c\ub85c \uc218\uc815\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
test.success.delete=\uc815\uc0c1\uc801\uc73c\ub85c \uc0ad\uc81c\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
---------------------------------------------------------------------------------------------
test.update=정상적으로 수정되었습니다.
test.select=정상적으로 조회되었습니다.
test.insert=정상적으로 등록되었습니다.
----------------------------------------------------
import java.io.IOException;
import java.util.Properties;
public static void main(String[] args) {
Properties pro= new Properties();
try {
pro.load(new FileInputStream("C:\\Users\\lee se jin\\eclipse-workspace\\org.eclipse.ui.examples.javaeditor\\sample2.properties"));
} catch (IOException e) {
System.out.println("파일 불러오기 오류 -> " + e);
}
// 2.저장된 속성값 불러오기 -> getProperty("키명") , setProperty(키명, 값)
String avalue= pro.getProperty("test.select"); // 대소문자 구분
System.out.println("test.select : " + avalue);
}
}
속성 값 바꾸기
저장된 속성명의 특정값을 변경시켜 보겠습니다.
setProperty("키", "값");
pro.setProperty("test.select", "error~~~~~"); //값을 변경
-- listing properties --
test.success.delete=정상적으로 삭제되었습니다.
test.update=정상적으로 수정되었습니다.
test.select=error~~~~~
test.insert=정상적으로 등록되었습니다.
test.select 값이 변경된걸 확인할수 있습니다.
하지만 메모리상에서만 변경이 될뿐 실제 파일에 있는 값은 변경이 되지 않습니다.
'JAVA(프로그래밍)' 카테고리의 다른 글
java split() , join() 알아보자 (0) | 2018.07.26 |
---|---|
java String vs StringBuffer 비교 (0) | 2018.07.26 |
java TreeMap 클래스 사용법 (0) | 2018.07.25 |
java HashMap 대신 순서대로 사용하려면 LinkedHashMap를 사용하자. (0) | 2018.07.24 |
java HashMap 사용하는 방법 (0) | 2018.07.24 |
- Total
- Today
- Yesterday
- java tihs
- java substring
- java replaceAll
- java LinkedHashMap
- java배열
- java Properties
- java iterator
- java텍스트파일저장
- java wrapper class
- java Enumeration
- java문자열저장
- java treemap
- 자바
- 객체파일저장
- java wrapper
- java문자열자르기
- java File
- Java
- linkHashMap
- java StringBuffer
- java 노트패드
- java 소켓
- java Vector
- java 메모장
- java ArrayList
- 자바 랩퍼
- java 네트워크
- File Class
- 자바 패키지
- java join
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |