1 // CountLines.java
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