Automatisation en Java : 5 exemples concrets pour le travail et les études

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Pourquoi Java est-il l'outil idéal pour l'automatisation ?



Avez-vous déjà passé une demi-journée à renommer 200 fichiers dans un dossier ? Ou copié manuellement des données d'une dizaine de tableaux Excel dans un rapport ? Cela vous parle ? Alors cet article est pour vous.



Java n'est pas seulement un langage pour les grands systèmes d'entreprise. C'est un outil puissant, stable et multiplateforme, parfaitement adapté à l'automatisation des tâches répétitives. Contrairement aux langages de script, les programmes Java sont rapides, faciles à maintenir, et le vaste écosystème de bibliothèques (Maven Central) permet de résoudre pratiquement n'importe quel problème « prêt à l'emploi ».



Dans cet article, nous n'allons pas parler de théorie. Nous allons analyser 5 scénarios réels d'automatisation en Java avec du code prêt à l'emploi que vous pourrez copier et adapter à vos besoins. C'est parti !



1. Automatisation de la gestion du système de fichiers (renommage, tri, nettoyage)



La tâche la plus courante est de mettre de l'ordre dans les fichiers. Imaginez : vous avez un dossier avec des rapports nommés rapport_2024_01_15.xlsx, rapport_2024_01_16.xlsx et ainsi de suite. Vous devez les déplacer dans des dossiers par mois. À la main, cela prend 15 minutes. Avec Java, 2 secondes.



Exemple : Tri automatique des fichiers par date



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:/rapports"); Pattern pattern = Pattern.compile("rapport_(\\\\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("Déplacé : " + file.getFileName()); } } } System.out.println("Terminé ! Les fichiers sont triés dans les dossiers."); }}


Que fait ce code ? Il scanne le dossier, trouve tous les fichiers correspondant au modèle, extrait l'année et le mois du nom, crée des sous-dossiers et déplace les fichiers. Simple et fiable.



Vous pouvez facilement adapter ce code à vos besoins : modifier le modèle, ajouter une journalisation ou effectuer un parcours récursif des sous-dossiers. C'est la base de toute automatisation des tâches Java liée aux fichiers.



2. Analyse et traitement de fichiers Excel (Apache POI)



Excel est l'outil « préféré » des comptables, gestionnaires et analystes. Et il est souvent nécessaire de rassembler les données de 10 fichiers en un seul, ou inversement, de diviser un gros fichier en plusieurs. La bibliothèque Apache POI est la norme de facto pour travailler avec Excel en Java.



Exemple : Lecture de données Excel et génération d'un rapport récapitulatif



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<>();

// Lecture de trois fichiers String[] files = {"ventes_t1.xlsx", "ventes_t2.xlsx", "ventes_t3.xlsx"}; for (String fileName : files) {

Blogs

Book Recommendations