import java.io.*; public class repertoires { public static void main(String args[]) { try { File f = new File(args[0]); System.out.println("Files are:"); Noeud test = explo(f); afficherArbre(test); } catch (Exception e) { System.err.println(e.getMessage()); } } private static Noeud explo(File f) { File[] files = f.listFiles(); Noeud root = new Noeud(f.getName()); if (files != null) { for (File fi : files) { Noeud node = new Noeud(fi.getName()); node.ajouterEnfant(explo(fi)); root.ajouterEnfant(root); } } return root; } public static void afficherArbre(Noeud racine) { afficherArbre(racine, 0); } private static void afficherArbre(Noeud noeud, int niveau) { // Affiche le nœud actuel avec une indentation basée sur le niveau StringBuilder indentation = new StringBuilder(); for (int i = 0; i < niveau; i++) { indentation.append(" "); // Deux espaces par niveau pour l'indentation } System.out.println(indentation.toString() + noeud); // Appelle récursivement la méthode pour chaque enfant du nœud actuel for (Noeud enfant : noeud.getEnfants()) { afficherArbre(enfant, niveau + 1); } } }