projet dans Java Skill Tree

Rechercher les fichiers en double

Créez un outil Java en lecture seule, confirmez les fichiers identiques par leurs octets et enregistrez tous les groupes en préservant les originaux.

ProjetJava

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Rechercher les fichiers en double est un projet Java pratique destiné aux personnes souhaitant traiter le contenu réel des fichiers. Vous construirez un outil réutilisable en lecture seule qui trouve des groupes complets de fichiers identiques tout en conservant chaque chemin d’origine. Des noms différents peuvent masquer des octets identiques ; des noms ou tailles identiques peuvent masquer des contenus différents.

Le cours comprend deux laboratoires guidés et un défi. Vous lirez d’abord des flux binaires et enregistrerez un inventaire complet des chemins. Vous utiliserez ensuite les tailles et empreintes SHA-256 pour réduire les candidats, confirmerez l’égalité par comparaison des octets et régénérerez le rapport après modification d’une copie d’exercice. Le défi applique les mêmes mécanismes à un autre dossier d’archives. Chaque laboratoire démarre indépendamment. Prévoyez environ 150 minutes, estimation de l’auteur incluant lecture et corrections courantes.

Ce que vous apprendrez

À la fin du cours, vous saurez :

  • lire des fichiers binaires avec try-with-resources en utilisant la longueur réellement renvoyée à chaque lecture ;
  • calculer des empreintes SHA-256 pour les candidats et inventorier chaque chemin, y compris les fichiers vides et les derniers blocs partiels ;
  • confirmer l’égalité en comparant les octets réels, sans considérer les noms, tailles ou empreintes comme une preuve ;
  • conserver tous les membres d’un groupe de doublons, y compris les groupes de trois fichiers ou plus, et exclure les fichiers uniques ;
  • régénérer un rapport à jour après modification d’un fichier d’exercice tout en préservant tous les originaux ;
  • écrire les rapports hors de l’arborescence parcourue et signaler comme échecs les entrées illisibles ou non prises en charge.

À qui s’adresse ce cours

Ce cours s’adresse aux personnes apprenant Java qui souhaitent réunir la gestion des fichiers de la bibliothèque standard, les collections et les exceptions dans un programme de terminal utile.

Prérequis : Classes, méthodes, collections de base, exceptions, lecture élémentaire de fichiers en Java et navigation simple dans le terminal. Gérer une bibliothèque communautaire d’outils, notamment son deuxième laboratoire guidé, fournit les bases de lecture et d’exceptions d’E/S ; des connaissances équivalentes conviennent aussi. Ce cours explique les flux binaires, les quantités lues, la fermeture des ressources et la différence entre candidats et comparaison des octets avant leur utilisation.

Environnement d’apprentissage : LabEx fournit un WebIDE dans le navigateur avec un terminal intégré, un compilateur Java, du code de départ et de vrais fichiers d’exemple, dont de petites images PNG. Vous pouvez exécuter le programme et examiner les fichiers sans installer Java localement. Les commandes, libellés et sorties restent en anglais.

Questions fréquentes

Le programme supprime-t-il les doublons ?

Non. Le livrable est un outil de vérification et un rapport complet de groupes à examiner. Tous les originaux sont préservés ; la suppression automatique, la réparation et le nettoyage du disque dépassent le cadre du projet.

Pourquoi comparer les octets après calcul de l’empreinte ?

La taille et SHA-256 aident à sélectionner des candidats. La décision finale repose sur le contenu réel, afin de conserver chaque chemin identique et de séparer les fichiers de même taille au contenu différent. Une empreinte n’est pas présentée comme une preuve mathématique d’égalité.

Quelles entrées sont prises en charge ?

Les fichiers et répertoires ordinaires stables pendant l’analyse, y compris les noms avec espaces et caractères UTF-8. Les liens symboliques, fichiers spéciaux et chemins contenant tabulations ou sauts de ligne sont refusés. Un échec de lecture ne doit pas être présenté comme une analyse complète réussie. Les rapports restent hors de l’arborescence d’entrée. Chaque laboratoire fournit ses données sans dépendre d’une ancienne VM ; le projet ne garantit pas d’instantanés concurrents.

Enseignant

labby
Labby
Labby is the LabEx teacher.

Recommandé pour vous

no data