Properties, ResourceBundle, JavaDoc

dev_hnbm·2023년 11월 28일
0

대덕인재개발원

목록 보기
19/30

Properties

프로젝트, 파일, 폴더 등의 속성을 설정하는 데 사용

DB 연결 정보 (dbinfo.properties)

# `#`이 붙으면 주석을 의미
# 이 properties 파일의 작성 방법은 `key값=`value값` 형식으로 한 줄에 한 개씩 작성

driver = oracle.jdbc.driver.OracleDriver
url = jdbc:oracle:thin:@localhost:1521:xe
user = pc15
pass = java

확장자가 '.properties'인 파일의 내용 읽어오기

package kr.or.ddit.basic;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;

public class PropertiesTest {

	public static void main(String[] args) {
		// Properties 객체 생성
		Properties prop = new Properties(); 
		
		// 읽어올 파일 정보를 갖는 File 객체 생성
		File f = new File("res/kr/or/ddit/config/dbinfo.properties");
		
		// 파일 입력용 스트림 객체 변수 선언
		FileInputStream fin = null;
		
		try {
			// 스트림 객체 생성
			fin = new FileInputStream(f);
			// 입력 스트림을 이용하여 파일 내용을 읽은 후 Properties 객체에 저장
			prop.load(fin); // 읽어온 파일의 key값과 value값을 분리하여 Properties 객체에 저장

			// 읽어온 파일 내용 출력
			System.out.println("driver => " + prop.getProperty("driver"));
			System.out.println("url => " + prop.getProperty("url"));
			System.out.println("user => " + prop.getProperty("user"));
			System.out.println("pass => " + prop.getProperty("pass"));
		} catch (Exception e) { e.printStackTrace(); }
		  finally { if(fin != null) try { fin.close(); } catch(IOException e) {} }
	}

}

Properties 객체 내용을 파일로 저장하기

package kr.or.ddit.basic;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;

public class PropertiesWriteTest {

	public static void main(String[] args) {
		// Properties 객체의 내용을 파일로 저장하는 예제
		Properties prop = new Properties();
		
		File f = new File("res/kr/or/ddit/config/memo.properties");
		FileOutputStream fout = null;
		
		try {
			prop.setProperty("name", "홍길동");
			prop.setProperty("age", String.valueOf(30));
			prop.setProperty("tel", "010-1234-5678");
			prop.setProperty("addr", "대전시 중구 오류동");
			
			fout = new FileOutputStream(f);
			
			// 파일 저장시 store()
			prop.store(fout, "주석");
			System.out.println("출력 완");
		} catch (Exception e) { e.printStackTrace(); }
		  finally {
			  if(fout != null) try { fout.close(); } catch(IOException e) {}
		  }
	}

}




ResourceBundle

파일의 확장자가 properties인 파일의 내용을 읽어와 key, value 값을 분리하여 정보를 갖는 객체이며, properties 파일을 처리하는 전용 객체

파일 내용 읽어오기

package kr.or.ddit.basic;

import java.util.ResourceBundle;

public class ResourceBundleTest {

	public static void main(String[] args) {
		// 객체 생성시 읽어올 파일의 경로를 패키지 형태로 지정, 확장자를 붙이지 않음
		ResourceBundle bundle = ResourceBundle.getBundle("kr.or.ddit.config.dbinfo"); 
		
		// 읽어온 내용 출력
		System.out.println("driver >> " + bundle.getString("driver"));
		System.out.println("url >> " + bundle.getString("url"));
		System.out.println("user >> " + bundle.getString("user"));
		System.out.println("pass >> " + bundle.getString("pass"));
	}

}




JavaDoc

Java 소스 코드에 대한 문서화를 생성하고 제공하는 도구이며 주로 코드의 기능, 클래스, 메서드, 변수 등을 설명하기 위해 사용한다.
HTML 형식으로 생성되며 API 문서를 생성하는 데 도움이 된다.

주석은 위 이미지와 같이 /** */의 형식으로 사용된다. '@' 입력시 사용할 수 있는 것들이 나오며, HTML 태그 입력이 가능하다.

생성하기
프로젝트 우클릭 > Export > Javadoc > Next > Configure에서 javadoc.exe 선택 > Next > Next > VM Options에서 charset UTF-8 -encoding UTF-8 입력 / JRE source compatibillity 버전 일치하는지 확인 > Finish > Yes to All > doc 폴더 생성 확인 > 탐색기에서 해당 폴더의 index.html 파일 확인

JavaDoc 파일 만들기

package kr.or.ddit.basic;
// 1117
/*	*/
/**
 * 
 * @author PC-15
 * @version 1.0
 * 
 * <p>
 * 	파일명: JavaDocTest.java<br>
 *  설명   : JavaDoc 문서 작성을 위한 연습용 interface<br><br>
 *  
 *  변경 이력<br>
 *  ----------------------------<br>
 *  변경 일자: 2023-11-17<br>
 *  작성자    : 조한봄<br>
 *  변경 내용: 최초 작성<br>
 *  ----------------------------<br>
 * </p>
 *
 */
public interface JavaDocTest {
	/**
	 * 메서드명: methodTest<br>
	 * 설명      : 반환값이 없는 메서드<br>
	 *  
	 * @param a 첫번째 매개변수 (정수형)
	 * @param b 두번째 매개변수 (정수형)
	 */
	public void methodTest(int a, int b);
	
	/**
	 * 메서드명: methodAdd<br>
	 * 설명      : 반환값이 있는 메서드<br>
	 * 
	 * @param x 정수형 첫번째 매개변수
	 * @param y 정수형 두번째 매개변수
	 * @return 처리된 결과를 정수형으로 반환
	 */
	public int methodAdd(int x, int y);
	
	/**
	 * 메서드명: methodInput<br>
	 * 설명      : 매개변수가 없는 메서드<br>
	 * 
	 * @return 정수형으로 반환
	 */
	public int methodInput();
}

만든 예제 테스트

package kr.or.ddit.basic;

public class DocTest {

	public static void main(String[] args) {
		JavaDocTest test = null;
		test.methodAdd(100, 200);
		test.methodInput();
		System.out.println("test");

	}

}

0개의 댓글