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"); } }