2013-06-12 3 views
0

약간의 문제가 있습니다. Java Web Service에서 FileInputStream을 사용하여 속성 파일을로드하려고합니다.웹 서비스의 Java FileInputStream

InputStream is = null; 
    try 
    { 
     is = new FileInputStream("app.config.properties"); 
     objPropiedades.load(is); 
     ruta = objPropiedades.getProperty("fileSales"); 
    } 
    catch(IOException ioe) 
    { 
     ioe.printStackTrace(); 
    } 

콘솔은 나에게 다음 예외를 보여줍니다 :

fileSales = C:/Users/clens/Documents/sales.xml 

내 자바 웹 서비스 클래스는 다음 행이 포함

app.config.properties 파일은 다음 줄을 포함

FileNotFoundException: app.config.properties 

로그 파일 :

당신의 속성 파일을 클래스 패스에 확실히으로
SEVERE: at java.io.FileInputStream.open(Native Method) 
SEVERE: at java.io.FileInputStream.<init>(FileInputStream.java:138) 
SEVERE: at java.io.FileInputStream.<init>(FileInputStream.java:97) 
+0

app.config.properties. 실제 예외는 무엇입니까? –

+0

@DuncanJones app.confi.properties가 있지만 웹 서비스에서 파일을 찾을 수 없습니다. – darthlitox

+0

'FileInputStream' 생성자에 제공 한 경로가 현재 작업 디렉토리에 있지 않으면 유효하지 않습니다. 아마 그렇지 않습니다. –

답변

1

, 그것은에 InputStream를 얻기 위해이 코드를 사용 :

is = MyService.class.getClassLoader().getResourceAsStream("/app.config.properties"); 

는 점으로 (파일이 들어있는 패키지의 경로를 적응 슬래시로 대체).

+0

app.config.properties는 C : \ Users \ clens \ Documents \ NetBeansProjects \ FranquiciaWS 경로에 있습니다. 내 Java 클래스 경로는 다음과 같습니다. C : \ Users \ clens \ Documents \ NetBeansProjects \ FranquiciaWS \ src \ java \ Model – darthlitox

+0

C : \ Users \ clens \ Documents \ NetBeansProjects \ FranquiciaWS \ src \ java' 또는 C : \ Users \ clens \ Documents \ NetBeansProjects \ FranquiciaWS \ src \ resources' 파일로 이동하십시오. – gma

0

app.config.properties 파일이 작업 위치에 있지 않은 것 같습니다.

두 가지 옵션

  1. 장소는 app.config.properties은 WEB-INF/클래스/폴더 웹 서비스 응용 프로그램의 에 파일.
  2. 전체 경로 이름이 인 app.config.properties 파일을 참조하십시오. 이것이 표준 웹 서비스 응용 프로그램이라고 가정합니다.

    E : \ 톰캣 7.0 \ webapps에 \ WebServiceProject은 WEB-INF \ 클래스 \ \ 당신이 반 스택 추적을 게시 한 것 같습니다