# text am Dateiende anhängen



## celloman (19. Oktober 2007)

Hallo

Ich habe eine Datei in den Buffer gelesen den Inhalt schreibe ich in eine test1.txt Datei, jetzt möchte ich mit FileWriter einen anderen text am ende der test1.txt Datei schreiben.


```
fw = new FileWriter( "c:/test2.txt" );
    
    
    try{
        BufferedWriter output = new BufferedWriter(new FileWriter("c:/test2.txt")); //öffnen der neuen Datei
        output.write(value);//schreiben auf die neue Datei
        fw.write( "Hallo Welt geht in eine Datei" );
        output.close();                   // schließen Bufferwriter     
        fw.close();
    }
    catch (IOException e) { 
        System.out.println("Datei konnte nicht erstellt werden!");
        e.printStackTrace();
    }     
    }
}
```


Das Problem ist das nur der Text von FileWriter in die Datei geschrieben wird.


----------



## Tobias Köhler (19. Oktober 2007)

Ich mag mich ja irren, aber du erzeugst einmal einen FileWriter und dann einen BufferedWriter
Erst schreibst du mit dem BufferedWriter und dann mit dem Filewriter in dieselbe Datei. Kann es sein, dann der Text überschrieben wird?


----------



## celloman (19. Oktober 2007)

Ja bingo  der Text wird überschrieben, ich möchte das der Text am Ende in die Datei geschrieben wird.

MFG


----------



## zerix (19. Oktober 2007)

Hallo,

schau mal hier


```
package de.tutorials.io;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;

public class PrintWriterExample {

	public static void main(String[] args) {
		try {
			
			String value ="Das steht am Anfang";
			PrintWriter writer = new PrintWriter(new File("D:/testFile.txt"));
			
			writer.write(value);
			
			writer.append("\nDas steht am Ende");
			
			writer.close();
			
			
			
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
```


Mit dem Printwriter kannst du auch ans Ende einer Datei schreiben ohne sie wieder einzulesen.

Bei deinem Beispiel könntest du den Satz aber auch hinten anfügen



```
try{
        BufferedWriter output = new BufferedWriter(new FileWriter("c:/test2.txt")); //öffnen der neuen Datei
        output.write(value);//schreiben auf die neue Datei
        output.write( "Hallo Welt geht in eine Datei" );
        output.close();                   // schließen Bufferwriter     
       
    }
    catch (IOException e) { 
        System.out.println("Datei konnte nicht erstellt werden!");
        e.printStackTrace();
    }
```



MFG

zEriX


----------



## celloman (19. Oktober 2007)

perfekt


----------



## Thomas Darimont (19. Oktober 2007)

Hallo,

wenn du nachträglich bei einer Textdatei was hinten anhängen möchtest, dann kannst du auch ganz einfach einen im Append Modus benutzen:

```
... new FileWriter("c:/file.txt",/* append */ true); //...
```

Gruß Tom


----------



## celloman (19. Oktober 2007)

Hy Tomas 

ich möchte gerne Eine Datei nach ("Part: 1 (47)")) suchen.



```
private static void insert(String val){
        StringTokenizer st = new StringTokenizer(val);
        int i = 0;
        while(st.hasMoreTokens())
            {
            if(st.nextToken().equals("Part: 1 (47)"))
                {
                i++;
                st.nextToken();
                }
            }
        System.out.println("In der Datei ist das Wort Part: " + i + " mal enthalten");
        
      
   
    }
```


funktioniert leider nicht.

du bist fit in java du kanns mir bestimmt helfen.


----------



## Ronin-Jay (19. Oktober 2007)

celloman hat gesagt.:


> ich möchte gerne Eine Datei nach ("Part: 1 (47)")) suchen.
> 
> 
> 
> ...



Komisch, genau diesen Wortlaut, hast Du in Deinem Thread schon benutzt....
http://www.tutorials.de/forum/java/292358-suchen-im-text.html#post1508487


----------



## Tobias Köhler (21. Oktober 2007)

So viele Tipps wie du zu diesem Problem erhalten hast, solltest du mittlerweile das hinbekommen können


----------

