public static Properties getProperties(String filePath) throws IOException{
//ClassLoader로 InputStream 생성
//InputStream is = ClassLoader.getSystemResourceAsStream(filePath);
InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(filePath);
Properties props = new Properties();
props.load(is);
return props;
}
getClass().getResourceAsStream(filePath) 와 같음.
단 getClass().getResourceAsStream(filePath) 는 static context에서 사용할 수 없음.
Class::getResource(name) 와
ClassLoader::getResource(name) 은 차이가 있다.
ClassLoader.getResource(name)의 'name'은 '/'로 시작할 수 없고 항상 상대경로로 인식한다.
반면 Class.getResource(name)의 'name'은 '/'로 시작해야만 절대경로가 된다.