Ausgabe in eine txt Datei schreiben?

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo,

Ich habe eine Methode, die mir einen Monat als Kalender auf der Konsole ausgibt.
Nun möchte ich aber, dass die Ausgabe in einer txt Datei gespeichert wird.
Wie kann ich das machen, kann man die ganze Ausgabe komplett in ein String schreiben?
Und dann mit BufferedWriter in einer Datei schreiben?

SO schaut der Code Momentan aus:
Code:
public void printMonatOhne() throws IOException {

        System.out.println("Monat: ");
        setMonat(MeineEingabe.erfasseInt());
        System.out.println("Jahr: ");
        setJahr(MeineEingabe.erfasseInt());
        KalenderFunktionen kal = new KalenderFunktionen();
        int anzahl = kal.tage_im_monat(monat, jahr);
        setTag(1);
        int tagesnummer = kal.tagesnummer(tag, monat, jahr);
        int wert = kal.wochentag_im_jahr(jahr, tagesnummer);
        System.out.println("------------------------------------------------------");
        System.out.println("------------------" + aMonat[monat - 1] + " " + jahr + "-----------------------");

        //Formatierung + Ausgabe der Tage
        for (int i = 0; i < aTag.length; i++) {
            System.out.print(aTag[i] + "      ");
        }

        //Um den Wochentag für den 1. zu finden
        System.out.print("\n");
        int zaehler = 0;
        for (int i = 0; i < wert; i++) {
            System.out.print("        ");
            zaehler++;
        }

        //Ausgabe der einzelnen tage 1,2,3...
        for (int i = 1; i <= anzahl; i++) {
            System.out.print(i);
            if (i > 9) {
                System.out.print("      ");
            } else {
                System.out.print("       ");
            }
            zaehler++;

            //zuständig für den Zeilenumbruch
            if (zaehler == 7) {
                System.out.print("\n");
                zaehler = 0;
            }
        }
    }
 
S

SlaterB

Gast
> kann man die ganze Ausgabe komplett in ein String schreiben?
> Und dann mit BufferedWriter in einer Datei schreiben?

das geht, wobei es nicht so schön ist, einen String ständig zu vergrößern,
lieber in einen StringBuilder schreiben oder direkt jeden Teilstring in den BufferedWriter,

das sind aber nur Details, im Grunde: ja mach mal so
 
G

Guest

Gast
also soll ich bei jeden System.out die methode zum datei schreiben aufrufen?
also sprch: datei öffnen, string schreiben, datei schließen, usw
 
S

SlaterB

Gast
ne, die Datei wird einmal am Anfang geöffnet und bei jedem System.out auch oder alternativ ein write und am Ende geschlossen,

hängt natürlich davon ab, wieviel genau von wo geschrieben werden soll,
ob es nur diese eine Operation ist oder mehrere usw.
 
G

Guest

Gast
naja das wären die ganzen system.out 's in der methode, die in die datei geschrieben werden müssten.
 
G

Guest

Gast
hab das ganze jetzt mal mit dem StringBuffer testen wollen.
Der code sieht jetzt folgendermaßen aus:
Code:
    public void printMonatOhne() throws IOException {

        StringBuffer awrite = new StringBuffer(); <<<<<<<<<==========================
   
        System.out.println("Monat: ");
        setMonat(MeineEingabe.erfasseInt());
        System.out.println("Jahr: ");
        setJahr(MeineEingabe.erfasseInt());
        KalenderFunktionen kal = new KalenderFunktionen();
        int anzahl = kal.tage_im_monat(monat, jahr);
        setTag(1);
        int tagesnummer = kal.tagesnummer(tag, monat, jahr);
        int wert = kal.wochentag_im_jahr(jahr, tagesnummer);
        awrite.append("------------------------------------------------------");  <<<<<<<==============
        awrite.append("------------------" + aMonat[monat - 1] + " " + jahr + "-----------------------");
        System.out.println("------------------------------------------------------");
        System.out.println("------------------" + aMonat[monat - 1] + " " + jahr + "-----------------------");

        //Formatierung + Ausgabe der Tage
        for (int i = 0; i < aTag.length; i++) {
            System.out.print(aTag[i] + "      ");
        }

        //Um den Wochentag für den 1. zu finden
        System.out.print("\n");
        int zaehler = 0;
        for (int i = 0; i < wert; i++) {
            System.out.print("        ");
            zaehler++;
        }

        //Ausgabe der einzelnen tage 1,2,3...
        for (int i = 1; i <= anzahl; i++) {
            System.out.print(i);
            if (i > 9) {
                System.out.print("      ");
            } else {
                System.out.print("       ");
            }
            zaehler++;

            //zuständig für den Zeilenumbruch
            if (zaehler == 7) {
                System.out.print("\n");
                zaehler = 0;
            }
        }
        String dateiname = "test";
        DateiIO io = new DateiIO();
        io.dateiLesenZeilenweise(dateiname, awrite); <<=====klappt nicht
    }

aber irgendwie haut die parameterübergabe zu dateiLesenZeilenweise nicht so ganz hin.

hier einmal die methode dateiLesenZeilenweise:
Code:
public void dateiSchreibenZeilenweise(String dateiname, StringBuffer zuSchreibenderString) {

        BufferedWriter out;

        int len = zuSchreibenderString.length();

        try {
            // Stream öffnen
            out = new BufferedWriter(new FileWriter(dateiname));

            // Stream schreiben zeilenweise
            for (int i = 0; i < len; i++) {

                out.write(zuSchreibenderString[i]);
                out.newLine();
            }

            // Stream schließen
            out.close();
        } catch (IOException exp) {
            System.out.println(exp.getMessage());
        }
    }
 
S

SlaterB

Gast
schreibe nichts doppelt wie

awrite.append("------------------------------------------------------"); <<<<<<<==============
awrite.append("------------------" + aMonat[monat - 1] + " " + jahr + "-----------------------");
System.out.println("------------------------------------------------------");
System.out.println("------------------" + aMonat[monat - 1] + " " + jahr + "-----------------------");


entweder du schreibst es nur in den Buffer und am Ende einmal den Inhalt des Buffers an System.out.

oder du definierst dir eine Hilfsoperation
writeToBufferAndOut(Buffer, String);

auf jeden Fall ist es elementar, dass Texte wie
"------------------" + aMonat[monat - 1] + " " + jahr + "-----------------------"
nur einmal im Code auftauchen,
sonst hast du riesige Problem bei Änderungen (muss überall gleich geändert werden)

---------

out.write(zuSchreibenderString);
ist keine korrekte Syntax, was soll dieser Code bedeuten?

out.write(zuSchreibenderString.toString());
wäre etwas sinnvolles

-----------

> irgendwie haut [XY] nicht so ganz hin.

merke dir diese Worte gut und schreibe sie nie wieder in irgendein Forum dieser Welt,
konkrete Fragen sehen anders aus,

in Java kombiniert mit exakten Fehlermeldungen, Zeilennummern,
Exceptions usw.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Exdroid BlueJ Wie bekomme ich die Ausgabe in eine TXT Datei? Allgemeine Java-Themen 2
D Die Ausgabe von Tidy in eine Datei umleiten Allgemeine Java-Themen 3
kodela Gemittelte Ausgabe von Buchstaben Allgemeine Java-Themen 11
L Event Handling Ausgabe von Radioboxen und befüllen von Comboboxen Allgemeine Java-Themen 1
curranux Ausgabe als Textdatei schreiben. Allgemeine Java-Themen 2
Master3000 Komisches Zeichen als Ausgabe in der Konsole Allgemeine Java-Themen 20
O Formatierte String ausgabe bei vier Variablen in einer Zeile Allgemeine Java-Themen 1
R In der Ausgabe sollte anstelle des obersten Sterns ein "+" stehen nur scheitere ich bei der Implementierung Allgemeine Java-Themen 9
L Ausgabe von in Echtzeit ausgeführten Code Allgemeine Java-Themen 9
B System.out Ausgabe auf jtextarea Fehlersuche Allgemeine Java-Themen 8
J Ausgabe von Links nach Rechts ausgeben? Allgemeine Java-Themen 2
AssELAss Log4j Logging Ausgabe für jede Klasse in seperates File Allgemeine Java-Themen 2
heyluigi Random Integer Array Ausgabe nach Größe sortieren Allgemeine Java-Themen 6
B Game of life Ein und Ausgabe Configurations Datei Allgemeine Java-Themen 17
M Input/Output CMD Ausgabe als ButtonEvent Allgemeine Java-Themen 5
Tausendsassa Input/Output Problem mit der gleichzeitigen Ausgabe zweier Threads Allgemeine Java-Themen 8
S 2-spaltige Ausgabe als Tabelle ausgeben Allgemeine Java-Themen 12
C Hilfe bei einer Point Ausgabe Allgemeine Java-Themen 7
B JFrame Text Ausgabe Allgemeine Java-Themen 7
D Variablen Ausgabe bzw. einlese Fehler Allgemeine Java-Themen 7
M Eclipse Keine Ausgabe mehr bei Fehlern Allgemeine Java-Themen 3
O log4j, Problem bei Ausgabe null-Wert Allgemeine Java-Themen 0
J Ausgabe nach Excel Allgemeine Java-Themen 1
balwan Unverständlichkeit einer Ausgabe Allgemeine Java-Themen 4
K Input/Output Ausgabe in Textdatei Allgemeine Java-Themen 7
B Barcode4j Ausgabe Formatieren Allgemeine Java-Themen 3
S Speichern/Laden/Hinzufügen/Löschen der Array-Wörter; unerwartete Ausgabe Allgemeine Java-Themen 6
H Scanner: Ausgabe erst nach Abbruch Allgemeine Java-Themen 8
K Methoden Ausgabe erfolgt nicht Allgemeine Java-Themen 6
T Ausgabe falsch! Allgemeine Java-Themen 5
W Input/Output Ausgabe eines Statements Allgemeine Java-Themen 5
P Falsche Ausgabe Allgemeine Java-Themen 5
nutellastulle Zugriff, Übergabe, Bearbeitung und Ausgabe von Jlist Allgemeine Java-Themen 6
D Ausgabe von C# Konsolenanwendung lesen Allgemeine Java-Themen 5
O Input/Output CMD-Ausgabe abfangen und in Datei speichern Allgemeine Java-Themen 8
P Pdf ausgabe Allgemeine Java-Themen 3
schlingel Process - Ausgabe leer Allgemeine Java-Themen 5
C Ausgabe unklar Allgemeine Java-Themen 2
J Applet Ausgabe beim Speichern ausblenden Allgemeine Java-Themen 4
Rudolf Java Ausgabe einer Texttabelle im Prompt Allgemeine Java-Themen 4
P Ausgabe der berechneten Fakultaet Allgemeine Java-Themen 12
M Ausgabe in Datei zum Ausdruck Allgemeine Java-Themen 2
E formartierte Ausgabe zur Laufzeit Allgemeine Java-Themen 2
D Bildschirm Flackert bei Ausgabe Allgemeine Java-Themen 4
K Windows Fehlerkanal -> Ausgabe in Datei Allgemeine Java-Themen 6
H Ausgabe von zwei Textfeldern Allgemeine Java-Themen 3
R log4j - Ausgabe der Logs Allgemeine Java-Themen 3
L in zufälligen Sekunden Ausgabe machen Allgemeine Java-Themen 2
W Ausgabe beschleunigen? Allgemeine Java-Themen 3
O Backslashes werden in der Ausgabe nicht übernommen Allgemeine Java-Themen 5
X Ausgabe auf JEditorPane Allgemeine Java-Themen 5
B Ausgabe auf der Konsole bei Nebenläufigkeit, Threads und Synchronisation Allgemeine Java-Themen 8
A Ausgabe in OpenOffice Calc oder pdf Allgemeine Java-Themen 3
T Ausgabe in txt.Datei speichern Allgemeine Java-Themen 23
S Boolean Ausgabe JasperReports Allgemeine Java-Themen 2
M Consolen Ausgabe Allgemeine Java-Themen 3
G Ausgabe mit tag Allgemeine Java-Themen 3
W Ausgabe von Fließkommazahlen formatieren Allgemeine Java-Themen 2
D Ausgabe HTML-Seite Allgemeine Java-Themen 5
H Externe Prozesse und Inputstreams - ausgabe in JTextArea Allgemeine Java-Themen 3
T Wieso erfolgt keine Ausgabe. /Excel Allgemeine Java-Themen 19
J Ausgabe der Quelltext Zeilennummer? Allgemeine Java-Themen 12
B serlvet system.out ausgabe Allgemeine Java-Themen 4
B Ausgabe auf stdout "löschen" und dafür neue Ausgab Allgemeine Java-Themen 10
X e.printStackTrace Ausgabe in Datei umleiten? Allgemeine Java-Themen 14
B Ausgabe mit print wird verzögert Allgemeine Java-Themen 9
D Dateien und ordner ausgabe Allgemeine Java-Themen 5
M Rekursive Ausgabe einer linkedList Allgemeine Java-Themen 8
M Ausgabe in Console formatieren`? Allgemeine Java-Themen 12
D Seltsame Ausgabe beim zusammenführen zweier Dateien Allgemeine Java-Themen 14
I Composite Pattern für Ausgabe von Ausdruck Allgemeine Java-Themen 3
H falsche ausgabe Allgemeine Java-Themen 15
S Datei Ausgabe Allgemeine Java-Themen 4
T Fehlersuche bzw. woher kommt diese ausgabe? Allgemeine Java-Themen 2
D Formatierte Ausgabe vom ProcessBuilder Allgemeine Java-Themen 4
S Endlos-Schleife bei Ausgabe von ArrayList Allgemeine Java-Themen 6
L Ausgabe auf GUI verzögert Allgemeine Java-Themen 2
R Vorzeichen bei der Ausgabe Allgemeine Java-Themen 7
G Problem mit Ausgabe-Kanälen Allgemeine Java-Themen 2
T Ausgabe bei Struktogrammen Allgemeine Java-Themen 2
G JTextField: Feld für Ausgabe von Meldungen Allgemeine Java-Themen 14
B Formatierte Ausgabe Allgemeine Java-Themen 3
G Einlesen der Ausgabe eines Shellskripts mit Java Allgemeine Java-Themen 2
B Fehler bei Ausgabe in Datei Allgemeine Java-Themen 11
G Ausgabe Allgemeine Java-Themen 9
KonradN Mal eine Frage zu Binary Serialization Allgemeine Java-Themen 15
D Hat Java eine Library um JavaScript auszuwerten? Allgemeine Java-Themen 2
dokan wie kann ich eine funktionierende Suchleiste erstellen Allgemeine Java-Themen 1
B Wie erstelle ich dazu eine Abfrage ob der Button gedrückt wurde? Allgemeine Java-Themen 8
J Integration pay Pale in eine JavaFx Desktop Application Allgemeine Java-Themen 1
berserkerdq2 Wenn ich einfach eine GIF in den Scenebuilder als Bild reinpacke, wird das dann asl Gif angezeigt Allgemeine Java-Themen 1
8u3631984 Strukturiertes Logging : Jedes Feld in eine seperate Zeile - aber wie ? Allgemeine Java-Themen 2
berserkerdq2 Gibt es eine saubere Dokumentation von Jfoenix? Allgemeine Java-Themen 1
M Eigene Datenstruktur um eine Menge zu speichern Allgemeine Java-Themen 3
A Wie schreibe ich eine For-Schleife in ein Stream API um? Allgemeine Java-Themen 12
E Es ist nicht möglich, eine Batch-Anweisung auszuführen. Allgemeine Java-Themen 9
T Eine Frage des Designs Allgemeine Java-Themen 2
R Best Practice Erfahrungswerte für eine Migration von JSF nach Angular (oder anderes JS-Framework) Allgemeine Java-Themen 1
H Eine Linie verkürzen Allgemeine Java-Themen 5
N rekursion mehrfach eine Methode Öffnen Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben