text am Dateiende anhängen

celloman

Erfahrenes Mitglied
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.

Code:
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.
 
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?
 
Ja bingo :) der Text wird überschrieben, ich möchte das der Text am Ende in die Datei geschrieben wird.

MFG
 
Hallo,

schau mal hier

Java:
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


Code:
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
 
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:
Java:
... new FileWriter("c:/file.txt",/* append */ true); //...

Gruß Tom
 
Hy Tomas

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


Code:
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.
 
ich möchte gerne Eine Datei nach ("Part: 1 (47)")) suchen.


Code:
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.

Komisch, genau diesen Wortlaut, hast Du in Deinem Thread schon benutzt....
http://www.tutorials.de/forum/java/292358-suchen-im-text.html#post1508487
 
So viele Tipps wie du zu diesem Problem erhalten hast, solltest du mittlerweile das hinbekommen können;)
 

Neue Beiträge

Zurück