2013-04-14 6 views
5

Ich kann keine Datei in Tomcat erstellen und dann schreiben. Die Datei wird erstellt, wenn ich das Java-Programm (nur das schreibende Stück Code) als Java-Anwendung ausführen, aber in Tomcat fehlschlägt.Ich kann keine Datei schreiben, während ich Tomcat verwende

gibt es keine Fehlermeldung. Die Datei wird einfach nicht erstellt!

Bitte vorschlagen, wenn ich hier etwas fehlt bin:

//code inside the servlet 
public void setData(HttpServletRequest request){ 
    name=request.getParameter("name"); 
    address=request.getParameter("address"); 


    BufferedWriter dataOut; 
    try { 
     System.out.println("Wrinting file..."); 
     dataOut = new BufferedWriter(new FileWriter("data.txt", true)); 




     dataOut.write("name:"); 
     dataOut.flush(); 

     dataOut.write("address"); 
     dataOut.flush(); 

     dataOut.write("\n"); 
     dataOut.flush(); 

     dataOut.close(); 
     System.out.println("File write complete!"); 
    } 
    catch(Exception e){ 
     e.printStackTrace(); 
    } 
+0

Eigentlich wird die Datei erstellt, aber wo suchen Sie danach? –

+0

Da Sie nicht den vollständigen Pfad der Datei angegeben haben, wird sie im aktuellen Kontext von tomcat erstellt. Geben Sie den vollständigen Pfadbeispiel an dataOut = neuer BufferedWriter (neuer FileWriter ("d: \\ data.txt", true)); überprüfen Sie die D: – aymankoo

Antwort

6

wie die Datei Sieht wirklich ohne Probleme erstellt.

Sie können tatsächlich fehlen wo es gespeichert ist.

Ändern Sie diese Zeile:

System.out.println("File write complete!"); 

An:

System.out.println("File write complete! Saved to: "+new File("data.txt").getAbsolutePath()); 

Und Sie können das Rätsel lösen.

+0

Danke !! Die Datei scheint in der Wurzel gespeichert zu sein .. Ich habe den Pfad gefunden ... – Rookie

3

Die Datei wird erstellt, verwendet jedoch einen relativen Pfad. Es wird relativ zum Ausführungsort erstellt, der auf Tomcat nicht sein wird, wo Sie es gewohnt sind.

Verwenden Sie einen absoluten Pfad oder drucken Sie seinen Speicherort.

+0

danke !!! Ich habe diese Nachricht ... Datei schreiben abgeschlossen! Gespeichert in: /Users/macbookpro/Downloads/eclipse/Eclipse.app/Contents/MacOS/data.txt Wie kann ich es im Web-Content-Ordner speichern? – Rookie

+0

Wie kann ich es im Web-Content-Ordner speichern? – Rookie

+1

Verwenden Sie anstelle des relativen Pfads "data.txt" einen absoluten Pfad: "/Users/path/to/web-content/data.txt", oder verwenden Sie einen relativen Pfad, der ihn an die gewünschte Position bringt (I don Ich weiß nicht, wo sich der gewünschte Ordner in Bezug auf den Speicherort der Datei befindet: "../../../path/to/web-content/data.txt" –

Verwandte Themen