Kategorien
Computer Programmierung

Java-Stream-API

Weil ich gestern das Script hatte: die Stream-API von Java ist schon geil für einige Anwendungsfälle. Kurz, prägnant und lesbar.

Ausschnitt vom Code gestern: einmal Pfad bis in die Unterverzeichnisse traversieren und die Dateien bearbeiten:

try (Stream<Path> paths = Files.walk(pathSource)) {
  paths
    .filter(Files::isRegularFile)
    .filter(path -> path.toString().endsWith(EXTENSION))
    .forEach(path -> processFile(path, args[1], Integer.parseInt(args[2])));
}

Gerade das Filter-Map-Reduce-Pattern macht was her (Map ist im Beispiel nicht dabei).

Aber ich finde es nicht einfach zu lernen und da ist viel try-error und Nachlesen (ich hab mir ein Buch gekauft!) dabei, gerade bei Syntax, Variablen-Zugriff und sonstigen Nebeneffekten.

Die Funktion processFile z.B. darf keine Exception werfen, sondern nur RuntimeException, weil das sonst nicht compiliert. Hat bestimmt seinen Grund, ist aber programmtechnisch blöd, weil nicht mehr so sauber.

Aber irgendwas ist immer…

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

10 × 1 =