2-1.(7) Properties

zhyun·2020년 9월 17일
0

HighJava

목록 보기
10/67

Properties

  • PropertiesMap보다 축소된 기능의 객체라고 할 수 있다.

Properties / Map 차이점

1) Properties

  • key와 value값으로 String만 사용
  • setProperty(), getProperty()메서드를 통해서 데이터 출력
  • DB에 대한 연결정보파일로 저장해 놓고 사용하는 용도로 많이 쓰임
    : db.properties라는 파일명으로 자주 작명

2) Map

  • 모든 형태의 객체 데이터를 key와 value값으로 사용
  • put(), get()메서드를 이용해서 데이터를 출력
	public static void main(String[] args) throws FileNotFoundException, IOException {
		System.out.println("Properties는 key와 value 모두 String으로 넣어야 함!!!");
		Properties prop = new Properties();
		
		prop.setProperty("name", "홍길동");
		prop.setProperty("tel", "010-7896-4563");
		prop.setProperty("addr", "대전");
		
		String name = prop.getProperty("name");
		String tel = prop.getProperty("tel");
		
		System.out.println("이름 : "+name);
		System.out.println("전화 : "+tel);
		System.out.println("주소 : "+prop.getProperty("addr"));
		
		//내용 파일로 저장하기 => 패키지안에 properties파일 생성됨
		prop.store(new FileOutputStream("src/kr/or/ddit/basic/test.properties"),"this is comment");
 //		=> 패키지안에 properties파일 생성됨 (아래 내용)       
//		#this is comment
//		#Wed Sep 16 16:54:46 KST 2020
//		tel=010-7896-4563
//		name=\uD64D\uAE38\uB3D9 : \홍\길\동
//		addr=\uB300\uC804       : \대\전 
    	//키값 = value값
	}
}

================================================

2020.09.29 (금)

  • JDBC 연동하다가 넘어옴

예시

  • 6_1.JDBCTest // T03_PropertiesTest
  • 외부의 properties파일을 읽어와 Properties객체로 처리하기
  • 6_1.JDBCTest 폴더안에 sourcefolder 'res' 생성 후
    'file'생성 후 'db.properties'로 저장 후 아래 내용 입력
    driver=oracle.jdbc.driver.OracleDriver
    url=jdbc:oracle:thin:@localhost:1521/xe
    user=zhyun
    pass=java
  • 순서
  1. 읽어온 정보를 저장Properties객체 생성
    Properties prop = new Properties();

  2. 읽어올 파일명을 이용한 File객체 생성
    File file = new File("읽어올 파일명 경로");

  3. 파일 읽기를 수행할 FileInputStream객체 생성
    FileInputStream fis = new FileInputStream(file);

  4. Properties 객체파일 내용 읽기
    prop.load(fis);

  5. 읽어온 자료 출력 -> key값만 읽어와 Enumeration객체로 반환
    Enumeration<String> keys = (Enumeration<String>)prop.propertyNames();
    => key값 개수만큼 반복해서 값 출력

  6. keys.hasMoreElement()
    => 다음 포인터 위치에 자료가 있으면 true, 없으면 false반환

while(keys.hasMoreElements()){
    String key = keys.nextElement();
    String value = prop.getProperty(key);
    System.out.println(key + " => "+ value);
}
  • Console창 :
profile
HI :)

0개의 댓글