Frage zu Eintrag in txt

Status
Nicht offen für weitere Antworten.
Hallo,

ich möchte mit diesen zwei klassen und Methoden text in ein .txt File schreiben. Das funktioniert soweit so gut, es wird aber immer nur das erste wort gespeichert. Rufe ich die WordForDatabaseMeth() öfter auf, wird immer nur das letzte Wort gespeichert. Also hier mal der Code

Java:
import java.util.Scanner;

public class WordForDatabase {

    String wordForDatabase;

    public WordForDatabase(String wordForDatabase) {
        this.wordForDatabase = wordForDatabase;
    }


    String WordForDatabaseMeth() {

        Scanner r = new Scanner(System.in);

        wordForDatabase = r.nextLine();
        
        return wordForDatabase;

    }

}


Java:
public class WordInTxt {

    String WordInTxt;

    public WordInTxt(String WordInTxt) {
        this.WordInTxt = WordInTxt;
    }

    void WordIntTxtMeth() {


        WordForDatabase y = new WordForDatabase(null);

        try {

            PrintWriter output = new PrintWriter("WordDatabase.txt");

            output.print(y.WordForDatabaseMeth());

            output.close();

        } catch (Exception e) {

            System.err.println(e);
            
        }
    }
}

Hat da jemand einen Tipp für mich wie das gehen könnte?

danke & lg
 
> Rufe ich die WordForDatabaseMeth() öfter auf, wird immer nur das letzte Wort gespeichert.

die Methode speichert doch gar nichts, sondern liest etwas ein

WordIntTxtMeth speichert genau eine Zeile von der Eingabe, und überschreibt alles vorherige,
PrintWriter kann man zwar nich so konfigurieren dass das bisherige nicht überschrieben wird, FileWriter aber schon,
verwende
new PrintWriter(new FileWriter(..));
und schaue bei FileWriter in der API nach, was dort einzustellen ist (besonders die Konstruktoren)
FileWriter (Java Platform SE 6)


-----

eine Alternative wäre, den Writer nur einmal für eine längere Zeit zu öffnen, mehrmals darin zu schreiben und am Ende zu schließen
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben