DEV/DEV3.2/Arbre/Repertoires/src/repertoires.java

52 lines
1.4 KiB
Java
Raw Normal View History

2023-11-29 15:05:29 +01:00
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);
}
}
}