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