최근에 Eclipse를 사용하여 Java로 웹 프로젝트를 만들었습니다. 타이머 작업을 포함하는 서블릿이 있습니다. 이 타이머 태스크는 내가 작성한 XML Writing 클래스의 "writeList"메소드를 호출합니다. 이 모든 것은 정상적으로 작동하며 System.out을 사용하여 매분마다 실행되는지 확인했습니다.Eclipse 웹 프로젝트 내의 Java Servlet에서 FileOutputStreams 및 Jena 모델 사용
Eclipse에서 응용 프로그램으로 XML Writing 클래스를 실행할 때 제대로 작동합니다. 파일은 'WebContent/test.rdf'로 아무 문제없이 출력됩니다. 라인에서
java.io.FileNotFoundException: WebContent/Test.rdf(No such file or directory)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
at java.io.FileOutputStream.<init>(FileOutputStream.java:70)
at com.XMLWriter.writeList(XMLWriter.java:58)
at com.ServerTimer$1.run(ServerTimer.java:30)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
코드는 다음과 같이 XMLWriter가 58입니다 : 그것은 내 서블릿에서 타이머 태스크에 의해 불려 그러나
, 나는 다음과 같은 오류를 얻고있다
fileOut = new FileOutputStream("WebContent/TEST.rdf");
model.write(fileOut);
fileOut은 FileOutputStream이고, model은 Jena 모델의 인스턴스입니다. RDF로 작업하고 있기 때문입니다.
어떤 도움을 주시면 감사하겠습니다. 어떤 질문이라도 알려주세요!
EDIT : 이제 작동하지만 웹 프로젝트의 'WebContent'디렉토리에 파일을 쓰고 싶습니다. 이 작업을 자동으로 수행 할 수있는 방법이 있습니까? 시스템에서 동적으로 해당 디렉토리를 찾을 수 없습니다.
검사와의 WebContent는 존재 :
/TEST.rdf
가 공개 웹 콘텐츠의 루트에있는 가정하면, 당신은 서블릿 내에서 다음과 같은 방법을/TEST.rdf
절대 디스크 파일 시스템 경로를 얻을 수 있나요? – user181750