# neue Zeile einfügen



## gazale_m (27. Juli 2007)

Hallo,

Ich weiß das es super einfach ist aber mein Programm ist für meine Java Erkenntnisse zu kompliziert geworden.

-Wie kann ich in mein CSV Datei statt :

ID;RESULT;NOTE

Bestellwesen_und_Bestand/Suche/ABBA  


So schreiben das die ältere Zeilen nicht überschrieben werden und immer eine neue Datei zugefügt wird(es funktioniert nicht mit "/r/n"):

ID;RESULT;NOTE (immer das gleiche Titel)

Bestellwesen_Bestand/Suche/1354/Erfolgreich
Bestellwesen_Bestand/Suche/1354
Bestellwesen_Bestand/Suche/ABBA

here ein Teil von meine Code (es ist nicht wie profis aber es funktioniert so weit):



```
try {
     
    while ((line =br.readLine())!=null)
    {
    // so lange es nicht leer ist wird gelesen 
    //line=line+line;
    System.out.println(line); 
    //StringTokenizer st = new StringTokenizer(line,",");
    //System.out.println(st);
    // einnahmen werden in console geschrieben
    
    line=line+line;
    
    if (i>=9 && i<11)

.
.
.
 try {
     Process p = Runtime.getRuntime().exec( cmd );
     // cmd wird ausgeführt
     int exitVal=p.waitFor();
     System.out.println("Process exitValue: "+ exitVal);
     //schreibt die Datei in output.csv
     FileWriter f = new FileWriter("c:/output.csv");
     PrintWriter print=new PrintWriter(f);
     
     print.println("ID,RESULT,NOTE");
     print.println();
     
     
     if (exitVal == 0){      
      print.println(ID+" , PASS , "+sTestFileId); }
     else{
      print.println(ID+" , FAIL , "+sTestFileId);}
     f.close();
    } catch (IOException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
     }
    }
    
    i++;
```


Gruß
Gazale


----------



## zeja (27. Juli 2007)

Wenn du etwas an eine bestehende Datei anhängen möchtest musst du dem FileWriter nur noch ein true mit übergeben:

```
FileWriter f = new FileWriter("c:/output.csv",true);
```


----------



## gazale_m (27. Juli 2007)

-danke Dir, es hat funktioniert. obwohl es jetz so aussieht:

ID,RESULT,NOTE

Bestellwesen_und_Bestand/Suche/ABBA-Suche/LINDA-1531 , PASS , xx


ID,RESULT,NOTE

Bestellwesen_und_Bestand/Unterformulare_Zeitraumueberschneidung , PASS , xx

ID,RESULT,NOTE

Bestellwesen_und_Bestand/Suche/ABBA-Suche/LINDA-1531 , PASS , xx

-wie kann ich den "ID,RESULT,NOTE" nur einmal haben? das heisst dass der Pointer gleich zu den zweite Zeile geht?


----------



## zeja (27. Juli 2007)

Prüft doch mit 

```
boolean exists = new File("c:/output.csv").exists();
```
ob die Datei schon existiert. Dann schreibst du die Zeile mit ID, Result, Note nicht rein:


```
Process p = Runtime.getRuntime().exec( cmd );
     // cmd wird ausgeführt
     int exitVal=p.waitFor();
     System.out.println("Process exitValue: "+ exitVal);
     boolean exists = new File("c:/output.csv").exists();
     //schreibt die Datei in output.csv
     FileWriter f = new FileWriter("c:/output.csv");
     PrintWriter print=new PrintWriter(f);
     
     if(!exists){
     print.println("ID,RESULT,NOTE");
     print.println();
    }
     
     
     if (exitVal == 0){      
      print.println(ID+" , PASS , "+sTestFileId); }
     else{
      print.println(ID+" , FAIL , "+sTestFileId);}
     f.close();
    } catch (IOException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
     }
    }
```


----------



## gazale_m (27. Juli 2007)

Danke Dir, es ist jetzt Perfekt.


----------

