본문 바로가기

Java

자바 컬렉션 - propertie

properties : Map계열의 컬렉션
  • 키 + 밸류 세트로 저장
  • HashMap과의 차이점 : properties에는 key 값도 String, value도 String으로 담는다
Properties prop = new Properties();
Prop[키 + 밸류] => 스트링으로 추가해보자
1. setProperty(String key, String value)
	prop.setProperty("List", "ArrayList");
	prop.setProperty("Set", "HashSet");
	prop.setProperty("Map", "HashMap");
	prop.setProperty("Map", "Properties");
	
	System.out.println(prop);
	// Map에 value 값은 중복이 되도 괜찮지만 key 값은 중복이 있음 안 되서 덮어쓰기
	// 저장 순서는 유지가 안 됨
	// key 값 중복시 덮어 씌여짐
    
    
    {Set=HashSet, List=ArrayList, Map=Properties}
2. getProperty(String key) : String
	System.out.println(prop.getProperty("List")); = ArrayList (List의 value 값)
	System.out.println(prop.getProperty("바보")); = null
	// 없는 키 값 입력 시 null 값 나옴
3. store(OutputStream os, String comments)
: Properties에 담겨 있는 key-value 값을 파일로 출력
try {
			
		prop.store(new FileOutputStream("test.properties"), "perperties Test");
		
		prop.storeToXML(new FileOutputStream("test.xml"), "properties Test");
	
	
	} catch (FileNotFoundException e) {
		e.printStackTrace();
	} catch (IOException e) {
		e.printStackTrace();
	}
    
    
    Properties prop = new Properties();
		
		try {
			// load(InputStream is)
			// prop.load(new FileInputStream("test.properties"));
			
			// loadFromXMl(InputStream is)
			prop.loadFromXML(new FileInputStream("test.xml"));
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		System.out.println(prop);
		
		/*
		 * *.properties 를 사용하는 경우
		 * 프로그램 상에 필요한 기본 환경설정 관련한 문구를 기술하는 경우
		 * => 모두 문자열이기 때문에 개발자가 아닌 일반인 관리자가 해당 문서를 파악해서 수정하기 쉽다.
		 * 
		 * *.xml 파일의 특징
		 * 프로그래밍 언어들간에 있어서 호환이 쉽다
		 * 
		 */

'Java' 카테고리의 다른 글

자바 컬렉션 - Map  (0) 2022.11.23
자바 컬렉션 - set  (0) 2022.11.22
자바 컬렉션 - list  (0) 2022.11.22
자바 컬렉션 : ArrayList 제네릭  (0) 2022.11.20
자바 컬렉션 : ArrayList  (0) 2022.11.20