자바 프로그램을 작성중 웹으로부터 전달받은 임시파일을 데몬이 읽어 처리 하도록 해야 할 일이 생겼다. 임시파일의 적당한 위치를 찾기 위해 자바 어플리케이션상에서의 현재 경로가 어떻게 되는지 궁금해 다음 코드를 짜서 확인해보았다.
1: // Java Application
2: // d:\workspace\daemon\src\test.java
3: File file = new File(“.”);
4: System.out.println(file.getCanonicalPath()); // d:\workspace\daemon\
5:
6: // Dynamic Web Project
7: // d:\workspace\web\webContent\test.jsp
8: // d:\apache-tomcat-6.0.14
9: <%
10: java.io.File file = new java.io.File(".");
11: %>
12: <%=file.getCanonicalPath()%> // d:\apache-tomcat-6.0.14\bin\
13:
14:
15:
요약하면,
자바 어플리케이션은 프로젝트 홈이 현재 경로가 된다.
다이나믹 웹 프로젝트는 톰캣 실행파일 경로가 현재 경로가 된다.(단, 이건 직접 아파치 톰캣을 실행했을떄 얘기고, 이클립스에서 실행 했을 경우는 이클립스 홈이 현재 경로가 된다.)
But, 위 실험 결과와는 상관없이 업로드 경로는 System.getProperty(“java.io.tmpdir”) 로 해 볼 예정. 근데, 윈도에서는 System.getProperty(“java.io.tmpdir”) 뒤에 \ 가 붙는데, 리눅스에선 안붙어서 검사하는 코드도 추가해야되겠다…쩝… 크로스플랫폼 지원하기가 쉽지 않네.
'IT > Java' 카테고리의 다른 글
[iBATIS 2.x] 일괄처리, 트랜잭션 성능 (0) | 2010.11.11 |
---|---|
Java Tip #2 : 큐(Queue) 성능 테스트 (1) | 2010.11.09 |
Spring - iBATIS : 웹서버 시작시 jdbc.properties 를 읽지 못해도 무시하게 하자 (0) | 2010.07.14 |
Spring - iBATIS : dataSource 의 동적 로딩 (2) | 2010.07.14 |
Java Tip #1 : 경과시간 구하기(Stopwatch) (0) | 2010.05.11 |