# Daten aus der Webseite (JSP) als .txt speichern



## tu-besucher (13. Jul 2004)

Hallo,  :cry: 
ich hab immer noch Problem mit der Speicherung von den Eingabedaten auf dem Server. Die Webseite funktioniert, aber ich sehe keine Datei (.txt) auf dem Server, d.h. unter demselben Pfad wo die JSP-dateien auch gespeichert wurden.


```
package diplomTest;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.*;

/**
 * @author Joe
 *
 * To change the template for this generated type comment go to
 * Window&Preferences&Java&Code Generation&Code and Comments
 */

public class SpeichereDatei extends HttpServlet { 
  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,  IOException   { 
    public void writeData(HttpServletRequest request) throws IOException { 
   String id = request.getParameter(id); 
   PrintWriter o = PrintWriter(new FileInputStream(id + ".txt"));      
   String text; 
   int spalte; 
   text=""; 
   spalte=1; 
   for (int zeile=1;request.getParameter("in-" + String.valueOf(zeile) + "-" + String.valueOf(spalte)) != null;zeile++) {          
      text+="\t";          
      for (String buffer;(buffer = request.getParameter("in-" + String.valueOf(zeile) + "-" + String.valueOf(spalte))) != null;spalte++); 
         text+=buffer + ";"; 
      spalte=1;    
   } 
   		 o.print(request.getParameter("Eingabe21") + ";"); 
		 o.print(request.getParameter("Eingabe21") + ";"); 
		 o.print(request.getParameter("Eingabe22") + ";"); 
		 o.print(request.getParameter("Eingabe23")); 
      
		 //Neue Zeile 
		 o.print("\t"); 
      
		 //Spalten 
		 o.print(request.getParameter("Eingabe24") + ";"); 
		 o.print(request.getParameter("Eingabe25") + ";"); 
		 o.print(request.getParameter("Eingabe26") + ";"); 
		 o.print(request.getParameter("Eingabe27")); 
	     o.print("\t"); 
   o.println(text); 
   o.flush(); 
   o.close();    
    }
  }
}
```

Ich hab andere Varianten, aber das funktioniert auch nicht so richtig..

Vielen Dank für die Unterstützung..

Joe


----------



## meez (13. Jul 2004)

Was hast du den da für ein Chaos gemacht....Schreibs mal so:
Zudem musst du schon einen FileOuputStream haben....



```
package diplomTest;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.*;

/**
 * @author Joe
 *
 * To change the template for this generated type comment go to
 * Window&Preferences&Java&Code Generation&Code and Comments
 */

public class SpeichereDatei extends HttpServlet { 
  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,  IOException   
 {   
  String id = request.getParameter(id); 
    PrintWriter o = PrintWriter(new FileOutputStream(id + ".txt"));      
  
   		 o.print(request.getParameter("Eingabe21") + ";"); 
		 o.print(request.getParameter("Eingabe21") + ";"); 
		 o.print(request.getParameter("Eingabe22") + ";"); 
		 o.print(request.getParameter("Eingabe23")); 
      
		 //Neue Zeile 
		 o.print("\t"); 
      
		 //Spalten 
		 o.print(request.getParameter("Eingabe24") + ";"); 
		 o.print(request.getParameter("Eingabe25") + ";"); 
		 o.print(request.getParameter("Eingabe26") + ";"); 
		 o.print(request.getParameter("Eingabe27")); 
	         o.print("\t"); 
   
   o.flush(); 
     o.close();    
     
}	

  public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException   
  {   
      doGet(request, reponse);
  }
}
```


----------



## Heiko (14. Jul 2004)

meez hat gesagt.:
			
		

> Was hast du den da für ein Chaos gemacht....Schreibs mal so:
> Zudem musst du schon einen FileOuputStream haben....
> 
> 
> ...



Kleiner Hinweis noch meinerseits, Du solltest dann aber auch die richtige Klasse importieren, nämlich :


```
import java.io.FileOutputStream;
```

Sonst gibts Fehlermeldungen.


----------



## tu-besucher (14. Jul 2004)

Vielen Dank Heiko, meez  :wink: 

die Inputeingaben, d.h. die eingegebenen Daten müssen in einem bestimmten Verzeichnis auf dem Server gespeichert werden. Ich muss irgendwo im Quellcode d. Verzeichnis eingeben 
(z.B: ...\webapp\examples\servlets\classes\EinDatei.txt ) ? oder ? ...

Dankeee sehr


----------



## Heiko (14. Jul 2004)

Sicher, du musst nen FileInputStream anlegen indem du dann die entsprechenende Files übergibst.

Hatte ich dir nicht in einem anderen Thema schonmal den Code dazu gegeben?


----------



## tu-besucher (14. Jul 2004)

Heiko,

Ja, ich habe den folgenden Quellcode von dir bekommen. ist dieser der richtige? 

```
public static void StreamSchreiben(String[] datei)
   {
      try
      {
         String projekt =
            verzeichnis.substring(verzeichnis.lastIndexOf("\\") + 1);
         if (projekt.equals("wsad"))
         {
            projekt = "AlleProjekte";
         }
         File test = new File("Ergebnis_" + projekt + ".html");
         FileOutputStream test2 = new FileOutputStream(test);
         OutputStreamWriter osw = new OutputStreamWriter(test2, "Cp1252");
         String temp = ErstellHTML(datei);
         osw.write(temp);
         osw.close();
      } catch (Exception e)
      {
      }
   }
```

Soll ich diesen in einem JSP einbinden oder in einer extra-Klasse schreiben. Aber d. Verzeichnis fehlt immer noch...


Vielen Dank


----------



## Heiko (14. Jul 2004)

zum einlesen machst dus gerade umgekehrt ne neue methode

FileinputStream, InputStreamReader BufferedReader und dem Inputstream sagst du woher die Daten kommen sollen.

Ist gar nicht so schwer, steht auch in der API viel hilfreiches drin.


----------



## tu-besucher (14. Jul 2004)

Danke Heiko...


----------



## Heiko (14. Jul 2004)

Kein Problem. 

Dafür gibt es ein Forum, um Fragen zu klären.


----------

