Konsolenausgabe in .txt speichern

Marlena Bauer

Mitglied
Java:
public class EinMalEins
{
/**
 * Zeilenweise Ausgabe des kleinen 1x1.
 */
  public static void main( String[] args)
  {
// Zeile
    for( int z = 1; z <= 10; z++)
    {
// Spalte in der Zeile
      for( int s = 1; s <= 10; s++)
      {
                                                 // Abstand
        if( z * s < 10) System.out.print( " ");
        if( z * s < 100) System.out.print( " ");

        System.out.print( "  " + z * s);         // Produkt
      }

      System.out.println();               // Zeilenvorschub
    }
  }
}


Wie kann ich die Ausgabe als Textdatei speichern?
 
Java:
import java.io.FileNotFoundException;
import java.io.PrintStream;

public class EinMalEins
{
/**
 * Zeilenweise Ausgabe des kleinen 1x1.
 */
  public static void main( String[] args) {
 
  PrintStream fileStream = null;
try {
    fileStream = new PrintStream("einmaleins.txt");
} catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
  System.setOut(fileStream);
  {
// Zeile
    for( int z = 1; z <= 7; z++)
    {
// Spalte in der Zeile
      for( int s = 1; s <= 7; s++)
      {
                                                 // Abstand
        if( z * s < 10) System.out.print("");
        if( z * s < 100) System.out.print("");

        System.out.print("        " + z * s);         // Produkt
      }

      System.out.println();               // Zeilenvorschub
    }
  }
}
}

Hab es hinbekommen.
 
Also zum einen hast Du da zwar einen PrintStream erstellt, aber noch schreibst Du da nichts rein. Dazu müsstest Du das System.out mit Deiner filestream Variable ersetzen.

Zum anderen sollte man sich angewöhnen, Dateien dann auch zu schließen. Damit das schließen immer erfolgt, wäre es in einem try/finally zu machen oder - was deutlich besser ist - in einem try with resources:
Java:
try (PrintStream fileStream = new PrintStream("einmaleins.txt")) {
    // Hier jetzt einfach fileStream nutzen, d.h. Deinen ganzen Code innerhalb des try halten!
}
 
Also zum einen hast Du da zwar einen PrintStream erstellt, aber noch schreibst Du da nichts rein. Dazu müsstest Du das System.out mit Deiner filestream Variable ersetzen.

Zum anderen sollte man sich angewöhnen, Dateien dann auch zu schließen. Damit das schließen immer erfolgt, wäre es in einem try/finally zu machen oder - was deutlich besser ist - in einem try with resources:
Java:
try (PrintStream fileStream = new PrintStream("einmaleins.txt")) {
    // Hier jetzt einfach fileStream nutzen, d.h. Deinen ganzen Code innerhalb des try halten!
}
Dankeschön.
 

Neue Themen


Zurück
Oben