Java Analogon zu ofstream



  • Hallo

    Obwohl ich noch am erlernen von C++ bin muss ich aus beruflichen Gründen parallel Java erlernen. In C++ möchte ich neben der Ausgabe auf dem Bildschirm mit cout auch immer die Ausgabe in eine Textdatei schreiben. Dazu setze ich immer direkt nach der main() Funktion

    ofstream print("./Programmausgabe.txt",ios_base::out);   //Initialisiere Ausgabe-Stream print
    

    Wann immer ich dann eine Zeile mit cout habe setzte ich dann direkt die gleiche noch einmal mit print, also z.B.

    cout << "\n" << "Binäre Muster {0,1}"  << setw(80) << "Bipolare Muster {-1,1}" << endl ;
    print << "\n" << "Binäre Muster {0,1}"  << setw(80) << "Bipolare Muster {-1,1}" << endl ;
    

    Das zu C++. Nun frage ich mich wie ich das in Java realisiere. Zum Beispiel habe ich folgenden Java Code geschrieben:

    public class Zwei_D_array {
      public static void main(String args[]) {
        int matrix[][] = {
          { 1,2,3 },
          { 4,5,6 },
          { 7,8,9 }
        };
        int i, j;
    
        for(i=0; i<3; i++) {
          for(j=0; j<3; j++)
            System.out.print(matrix[i][j] + " ");
          System.out.println();
        }
      }
    }
    

    Wie lasse ich meine Matrix nun in eine Textdatei schreiben? Am liebsten wäre mir eine Lösung wie das in C++ mit ofstream geht. Finde ich sehr schön.

    Grüße


  • Mod

    Du kannst da verschiedene Sachen machen. Ich würde einen "PrintWriter" verwenden. Das sollte dann ungefähr so aussehen, um den verfügbar zu haben:

    PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter("myOutputFile.txt")));
    

    (Ungetestet, einfach kurz hier reingetippt.)

    Das sollte Dir ein entsprechendes Objekt mit all den Methoden liefern, die Du gerne hättest:

    https://docs.oracle.com/javase/7/docs/api/java/io/PrintWriter.html



  • Danke sehr, das werde ich testen.



  • Du kannst auch den FileWriter nehmen.


Anmelden zum Antworten