자바 에서 프로필 의 정 보 를 읽 고 프로필 의 정 보 를 이용 하여 대상 을 만 듭 니 다.

다른 사람 프로그램 을 읽 을 때 나 설정 정 보 를 저장 해 야 합 니 다. 'properties' 라 는 확장자 의 파일 을 자주 사용 해 야 합 니 다. 이 파일 의 정 보 는 도대체 어떻게 읽 습 니까?다음은 프로필 의 위치 에 따라 두 가지 상황 으로 나 누 어 분석 합 니 다.
  • 프로필 에 있 는 정보 (observer. properties)
    observers=com.logic.observer.Dad,com.logic.observer.GrandFather,com.logic.observer.Dog
  • 설정 파일 이 src 디 렉 터 리 에 있 을 때 프로그램 이 실 행 될 때의 classpath 에 해당 합 니 다. Test. java 라 는 파일 에서 설정 파일 의 정 보 를 읽는다 고 가정 합 니 다.다음 코드 와 같이
    public class Test {
    	public static void main(String[] args) {
    		/**
    		 *   Properties  
    		 */
    		Properties properties = new Properties();
    		Child child = new Child();
    		try {
    			/**
    			 *                ,    .properties   src   ,    
    			 *  Test.class.getClassLoader().getResourceAsStream("observer.properties")             
    			 */
    			properties.load(Test.class.getClassLoader().getResourceAsStream("observer.properties"));
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		/**
    		 *             ,       
    		 */
    		String[] observers = properties.getProperty("observers").split(",");
    		for(String s: observers) {
    			try {
    				/**
    				 *            ,  Class.forName(s).newInstance()
    				 */
    				child.addWakenUpListener((WakenUpListener)(Class.forName(s).newInstance()));
  • 가방 에 프로필 을 넣 으 면 코드
    properties.load(Test.class.getClassLoader().getResourceAsStream("observer.properties"));
  • 만 필요 합 니 다.
                바꾸다
         properties.load(Test.class.getClassLoader().getResourceAsStream("com/logic/observer/observer.properties"));

           "/" 를 사용 할 수 없습니다. "

    좋은 웹페이지 즐겨찾기