2016-05-17 6 views
1

Nach der Montage von Maven, legen Sie die War-Datei auf den externen Tomcat-Server. Wenn das Servlet gestartet wird, gibt es eine FileNotFoundException, die Datei 2.html kann nicht gefunden werden (Pfad ist relativ zu - "2.html"). Diese Datei befindet sich im Stammverzeichnis der Anwendung. Als ich Projekt mit eingebautem internem Eclipse-Server Tomacat gestartet habe (lief als - auf Server laufen) - hat alles funktioniert, und die Datei wurde lokalisiert (der Pfad war ein absoluter - "F: /javaEEBelhard/Task-4/WebContent/WEB-INF/1.html"). HierServlet/Tomcat Dateipfad

ist der Code in Eclipse:

try 
    { 
     FileInputStream fileIntputStream = new FileInputStream("2.html"); 
     InputStreamReader inputStreamReader = new InputStreamReader(fileIntputStream, CHARSET_NAME); 
     BufferedReader reader = new BufferedReader(inputStreamReader); 
     String line; 
     while ((line = reader.readLine()) != null) 
     { 
      writer.println(line); 
     } 
    } 
    catch (UnsupportedEncodingException e) 
    { 
     e.printStackTrace(); 
    } 
    catch (IOException e) 
    { 
     e.printStackTrace(); 
    } 
+1

Werden Sie nicht eine offene Klammer fehlt '{' 'nach try'? – Smittey

+0

es würde nicht kompilieren .. –

Antwort

0

Wenn der Krieg den Einsatz - es ist dein Problem. Ich wette, die Datei existiert nicht, weil sie in der WAR-Datei enthalten ist. (Und die Datei api schaut auf das Dateisystem)

Wenn Sie Dateien müssen zuverlässig lesen - verwenden servletContext.getResource(path) oder servletContext.getResourceAsStream(path)