2
3 import java.io.BufferedReader;
4 import java.io.FileReader;
5 import java.io.InputStreamReader;
6 import java.io.IOException;
7
8 /**
9 * CountLines zeigt den Umgang mit Reader-Klassen.
10 * @author H.Drachenfels
11 * @version 10.1.2019
12 */
13 public final class CountLines {
14 private CountLines() { }
15
16 /**
17 * Zählt die Zeilen in einer Datei oder in der Standardeingabe.
18 * @param args optional ein Dateiname
19 * @throws IOException bei Lesefehlern
20 */
21 public static void main(String[] args) throws IOException {
22 BufferedReader in;
23
24 if (args.length == 0) {
25 in = new BufferedReader(new InputStreamReader(System.in));
26 } else {
27 in = new BufferedReader(new FileReader(args[0]));
28 }
29
30 int total = 0;
31 while (in.readLine() != null) {
32 ++total;
33 }
34
35 System.out.printf("%d Lines%n", total);
36 }
37 }
38