B3 쪽을 위한 Report Crawler를 만들면서

몇개의 파일 읽어 오는 것을 구현해야 하는데 해당 파일 정보를 properties에 넣을 려고 하니 너무 설정이 많아 지는 듯 하여 ClassPath에 있는 파일을 읽어 오는 방법을 찾다 보니 Solution이 있다.

( Spring이나 Struts 같은 데서 ClassPath에 있는 파일 읽어 오는 것을 보고 어떻게 한건가 했는데 이거 였구나 하는 생각이.^^ )

1.String filePath = Thread.currentThread().getContextClassLoader().getResource("/script/xxx.sh").getFile();
2.String filePath = getClass().getClassLoader().getResource("/script/xxx.sh").getFile();
3.String filePath = getClass().getResource("/script/xxx.sh").getFile();

처음에는 3번으로 개발했는데 Window / linux에서는 잘 되던게 Mac 에 올렸더니 NullPointer Exception이 발생했다.

결국 정팀장님이 1번 형태로 바꾸셨는데 송과장님 Mac에서는 또 1,3번 모두 다 잘 된다...

Internet을 Survey해보니 2,3번 형태를 비교해서 2번은 되는데 3번은 NullPointerException 나오는 경우에 대한 Article도 찾았다.

결국 1 번 혹은 2번 형태로 작성하는 것이 제일 안전한 방법으로 보인다.

'개발자세상 > 자바세상' 카테고리의 다른 글

ZK에서 Input Component와 객체간 Binding  (0) 2009.04.16
ZK에서 Spreadsheet 사용기  (0) 2009.04.16
JavaFX?  (0) 2009.02.03
Process class 사용시 주의점  (0) 2008.11.07
JVMPI, JVMTI  (0) 2008.07.30
Posted by headiron
,