2017-07-10 1 views
0

Der Benutzer, um die Datei mit der TXT-Erweiterung auf mein System hochzuladen. Ich möchte diese Datei als www.exp.com/text_file.txtLaden Sie die Datei in den Webapp-Ordner

zugänglich sein, aber ich konnte es nicht tun. Project/src/main/webapp/text_file.txt, Wenn ich die Datei unter der Webapp lasse, kann ich es bekommen. Aber wie kann ich TXT-Datei in Webapp erstellen?

new File(---); -> dieser Code nicht was ich will. Es erstellt unter dem Eclipse-Ordner.

Project 
     ->pom.xml 
     ->src 
      ->main 
        ->java 
        ->resources 
        ->webapp 
          ->WEB-INF 

Antwort

0

Angenommen, Sie Servlets verwenden, sollte dieser Code arbeiten (wir Datei in Webapp/Ressourcen platzieren)

public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException { 

     // Getting ServletContext from request 
     ServletContext ctx= req.getServletContext(); 
     // Get the absolute path of the file 
     String filename = ctx.getRealPath("resources/file.text"); 
     // getting mimeType of the file 
     String mime = ctx.getMimeType(filename); 
     // Error handling 
     if (mime == null) { 
     res.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); 
     return; 
     } 

     // Setting MIME content type 
     res.setContentType(mime); 
     // Getting file object 
     File file = new File(filename); 
     // Setting content length header 
     res.setContentLength((int)file.length()); 

     // FileInputStream to read from file 
     FileInputStream in = new FileInputStream(file); 
     // Obtain OutputStream from response object 
     OutputStream out = res.getOutputStream(); 

     // Writing to the OutputStream 
     byte[] buffer = new byte[1024]; 
     int bytes = 0; 
     // we stop when in.read returns -1 and read untill it does not 
     while ((bytes = in.read(buffer)) >= 0) { 
     out.write(buffer, 0, count); 
     } 
    // Clean up, closing resources 
    out.close(); 
    in.close(); 

} 
+0

Dank es funktioniert :), aber ich verstehe nicht, warum dieser Text-Datei löschen, wenn ich ändern Projekt und drücken Sie STRG + S – cezaalp

+0

Was meinst du damit zu löschen? – fg78nc

+0

Die erstellte Textdatei wird gelöscht, wenn ich die Servlet-Datei ändere und speichere – cezaalp

Verwandte Themen