Warum Java das ideale Werkzeug für die Automatisierung ist?
Haben Sie schon einmal einen halben Tag damit verbracht, 200 Dateien in einem Ordner umzubenennen? Oder manuell Daten aus einem Dutzend Excel-Tabellen in einen Bericht kopiert? Kommt Ihnen bekannt vor? Dann ist dieser Artikel genau das Richtige für Sie.
Java ist nicht nur eine Sprache für riesige Unternehmenssysteme. Es ist ein leistungsstarkes, stabiles und plattformunabhängiges Werkzeug, das sich hervorragend für die Automatisierung von Routineaufgaben eignet. Im Gegensatz zu Skriptsprachen arbeiten Java-Programme schnell, sind leicht zu warten und das riesige Ökosystem an Bibliotheken (Maven Central) ermöglicht es, nahezu jede Aufgabe „out of the box“ zu lösen.
In diesem Artikel werden wir nicht über Theorie sprechen. Wir werden 5 reale Automatisierungsszenarien mit Java mit fertigem Code durchgehen, den Sie kopieren und an Ihre eigenen Bedürfnisse anpassen können. Los geht's!
1. Automatisierung der Dateisystemverwaltung (Umbenennen, Sortieren, Bereinigen)
Die häufigste Aufgabe ist es, Ordnung in Dateien zu bringen. Stellen Sie sich vor: Sie haben einen Ordner mit Berichten wie report_2024_01_15.xlsx, report_2024_01_16.xlsx und so weiter. Sie müssen diese nach Monaten in Ordner verschieben. Von Hand – das sind 15 Minuten. Mit Java – 2 Sekunden.
Beispiel: Automatisches Sortieren von Dateien nach Datum
import java.io.IOException;import java.nio.file.*;import java.time.LocalDate;import java.time.format.DateTimeFormatter;import java.util.regex.Matcher;import java.util.regex.Pattern;
public class FileSorter { public static void main(String[] args) throws IOException { Path sourceDir = Paths.get("C:/reports"); Pattern pattern = Pattern.compile("report_(\\\\d{4})_(\\\\d{2})_(\\\\d{2})\\\\.xlsx");
try (DirectoryStream<Path> stream = Files.newDirectoryStream(sourceDir, "*.xlsx")) { for (Path file : stream) { Matcher matcher = pattern.matcher(file.getFileName().toString()); if (matcher.matches()) { String year = matcher.group(1); String month = matcher.group(2); Path targetDir = sourceDir.resolve(year).resolve(month); Files.createDirectories(targetDir); Files.move(file, targetDir.resolve(file.getFileName()), StandardCopyOption.REPLACE_EXISTING); System.out.println("Verschoben: " + file.getFileName()); } } } System.out.println("Fertig! Dateien wurden in Ordner sortiert."); }}Was macht dieser Code? Er durchsucht den Ordner, findet alle Dateien, die dem Muster entsprechen, extrahiert Jahr und Monat aus dem Namen, erstellt verschachtelte Ordner und verschiebt die Dateien. Alles einfach und zuverlässig.
Sie können diesen Code leicht an Ihre Bedürfnisse anpassen: Ändern Sie das Muster, fügen Sie eine Protokollierung hinzu oder führen Sie eine rekursive Durchsuchung von Unterordnern durch. Dies ist die Grundlage für jede Java-Aufgabenautomatisierung im Zusammenhang mit Dateien.
2. Parsen und Verarbeiten von Excel-Dateien (Apache POI)
Excel ist das „beliebte“ Werkzeug von Buchhaltern, Managern und Analysten. Und oft müssen Sie Daten aus 10 Dateien in einer zusammenführen oder umgekehrt eine große Datei in mehrere aufteilen. Die Bibliothek Apache POI ist der De-facto-Standard für die Arbeit mit Excel in Java.
Beispiel: Lesen von Daten aus Excel und Generieren eines zusammenfassenden Berichts
import org.apache.poi.ss.usermodel.*;import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.util.HashMap;import java.util.Map;
public class ExcelAggregator { public static void main(String[] args) throws IOException { Map<String, Double> summary = new HashMap<>();
// Drei Dateien lesen String[] files = {"sales_q1.xlsx", "sales_q2.xlsx", "sales_q3.xlsx"}; for (String fileName : files) {