Java Ein- Ausgabe

Dateneingabe und -ausgabe

(1) Lesen von der Tastatur - Ausgabe auf den Monitor


import java.io.*;
public class Tastatur {
  public static void main(String[] args) {
    BufferedReader in = new BufferedReader(
                              new InputStreamReader(
                                    System.in
                                  )
                            );
    System.out.print("Tastatureingabe: ");
    try {
      String s = in.readLine();
      System.out.println("Kontrollausgabe: " + s);
    } catch(IOException e) {
      System.out.println(e.getMessage());
    }
  }
}

Einfacher mit Hilfe des Pakets extra.jar:

public class Tastatur {
  public static void main(String[] args) {
    String s = IO.readln("Tastatureingabe: ");
    IO.println("Kontrollausgabe: " + s);
  }
}

(2) Lesen aus einer Datei


import java.io.*;
public class AusDatei {
  public static void main(String[] args) {
    try {
      BufferedReader in = new BufferedReader(
                                new InputStreamReader(
                                      new FileInputStream("AusDatei.java")
                                    )
                              );
      System.out.println("Lesen aus einer Datei:");
      try {
        String s = in.readLine();
        System.out.println(s);
        in.close();
      } catch(IOException e) {
        System.out.println(e.getMessage());
      }
    } catch(FileNotFoundException e) {
      System.out.println(e.getMessage());
    }
  }
}

Einfacher mit Hilfe des Pakets extra.jar:

public class AusDatei {
  public static void main(String[] args) {
    FileInput in = new FileInput("AusDatei.java");
    System.out.println("Lesen aus einer Datei:");
    String s = in.readln();
    System.out.println(s);
    in.close();
  }
}

(2b) Lesen mehrerer Zeilen aus einer Datei


import java.io.*;
public class AusDatei_b {
  public static void main(String[] args) {
    try {
      BufferedReader in = new BufferedReader(
                                new InputStreamReader(
                                      new FileInputStream("AusDatei_b.java")
                                    )
                              );
      System.out.println("Lesen aus einer Datei: ");
      try {
        for (int i=0; i<5; i++) {
          String s = in.readLine();
          System.out.println(s);
        }
        in.close();
      } catch(IOException e) {
        System.out.println(e.getMessage());
      }
    } catch(FileNotFoundException e) {
      System.out.println(e.getMessage());
    }
  }
}

(2c) Lesen aller Zeilen aus einer Datei

import java.io.*;
public class AusDatei_c {
  public static void main(String[] args) {
    try {
      BufferedReader in = new BufferedReader(
                                new InputStreamReader(
                                      new FileInputStream("AusDatei_c.java")
                                    )
                              );
      System.out.println("Lesen aus einer Datei: ");
      try {
        String s = in.readLine();
        while (s != null) {
          System.out.println(s);
          s = in.readLine();
        }
        in.close();
      } catch(IOException e) {
        System.out.println(e.getMessage());
      }
    } catch(FileNotFoundException e) {
      System.out.println(e.getMessage());
    }
  }
}
oder kürzer:
        String s;
        while ((s = in.readLine()) != null) {
          System.out.println(s);
        }

Einfacher mit Hilfe des Pakets extra.jar:

public class AusDatei_c2 {
  public static void main(String[] args) {
    FileInput in = new FileInput("AusDatei.java");
    System.out.println("Lesen aus einer Datei:");
    String s;
    while ((s = in.readln()) != null) {
      System.out.println(s);
    }
    in.close();
  }
}

(3) Lesen von der Tastatur und Schreiben in eine Datei

(Erweiterung von Beispiel 1)

import java.io.*;
public class InDatei {
  public static void main(String[] args) {
    BufferedReader in = new BufferedReader(
                              new InputStreamReader(
                                    System.in
                                  )
                            );
    System.out.print("Tastatureingabe: ");
    try {
      String s = in.readLine();
      System.out.println("Kontrollausgabe: " + s);
      try {
        BufferedWriter out = new BufferedWriter(
                                   new OutputStreamWriter(
                                         new FileOutputStream("daten.txt")
                                       )
                                 );
        out.write( s );
        out.newLine();
        out.close();
        System.out.println("Daten in daten.txt gespeichert");
      } catch(FileNotFoundException e) {
        System.out.println(e.getMessage());
      }
    } catch(IOException e) {
      System.out.println(e.getMessage());
    }
  }
}

Einfacher mit Hilfe des Pakets extra.jar:

import java.io.*;
public class InDatei {
  public static void main(String[] args) {
    System.out.print("Tastatureingabe: ");
    String s = IO.readln();
    FileOutput out = new FileOutput("daten.txt");
    out.println(s);
    out.close();
    System.out.println("Daten in daten.txt gespeichert");
  }
}

(4) Lesen aus einer Datei und Schreiben in eine andere Datei (Kopieren)

import java.io.*;
public class Kopieren {
  public static void main(String[] args) {
    try {
      BufferedReader in  = new BufferedReader(
                                 new InputStreamReader(
                                       new FileInputStream("Kopieren.java")
                                     )
                               );
      BufferedWriter out = new BufferedWriter(
                                 new OutputStreamWriter(
                                       new FileOutputStream("Kopie.txt")
                                     )
                               );
      System.out.println("Kopie von Datei \"Kopieren.java\"");
      try {
        String s;
        while ((s = in.readLine()) != null) {
          out.write(s + "\r\n");
        }
        in.close();
        out.close();
        System.out.println("Daten kopiert");
      } catch(IOException e) {
        System.out.println(e.getMessage());
      }
    } catch(FileNotFoundException e) {
      System.out.println(e.getMessage());
    }
  }
}

Einfacher mit Hilfe des Pakets extra.jar:

public class Kopieren {
  public static void main(String[] args) {
    FileInput in = new FileInput("Kopieren.java");
    FileOutput out = new FileOutput("Kopie.txt");
    System.out.println("Kopieren von Datei \"Kopieren.java\"");
    String s;
    while ((s = in.readln()) != null) {
      out.println(s);
    }
    in.close();
    out.close();
    System.out.println("Daten kopiert");
  }
}