2013-02-20 2 views
0

Tomcat에서 실행되는 웹 응용 프로그램에 포함시키기 위해 JAR 파일로 내 보낸 독립 실행 형 응용 프로그램이 있습니다.웹 응용 프로그램의 jar 파일 내부에서 파일 읽기

이 라인을 통해 단독 앱이 패키지 "설정"내부 파일에서 읽어 스탠드 :

java.io.FileNotFoundException: file:\C:\apache-tomcat-7.0.23\IRSimWebApp\WEB-INF\lib\IR_Sim.jar!\config\indexer.cfg (The filename, directory name, or volume label syntax is incorrect) 
    at java.io.FileInputStream.open(Native Method) 
    at java.io.FileInputStream.<init>(Unknown Source) 
    at java.io.FileInputStream.<init>(Unknown Source) 

I :

configFileName = Thread.currentThread().getContextClassLoader().getResource("config/indexer.cfg").getPath(); 

불행하게도이 웹 응용 프로그램에서 예외가 발생합니다 파일 경로에 느낌표가 있음을 발견했습니다. 이로 인해 오류가 발생할 수 있습니까? 어떻게 거기에 갔습니까? 당신이 더 InputStream으로 자원을 얻기에 의해 제공 될 것 같은

+0

를, 무엇을 당신이하고있는 것은 정확합니다. exlclamation은 JAR 안에 있음을 의미합니다. –

+0

해당 줄로 인해 주어진 예외가 발생할 수 있습니다. 코드에서'new FileInputStream (configFileName)'을 잘못 실행하지 않습니까? 그것은 예외와 일치합니다. – BalusC

+0

예, 코드의 새 FileInputStream으로 인해 발생합니다. – PogoMips

답변

1

보인다 : 나는 추측

InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream("config/indexer.cfg"); 
if (in != null) { 
    BufferedInputStream buff = new BufferedInputStream(in); 
    // process buff to get contents of file 
    buff.close(); 
} 
없음 예외가 분명 위에서 처리하지,하지만 당신은 아이디어를 얻을해야

...

관련 문제