0% ont trouvé ce document utile (0 vote)
185 vues2 pages

Structure de fichiers en Java

Le document décrit une classe Repertoire qui implémente une interface AbstractFile. Repertoire stocke une liste de fichiers AbstractFile et définit une méthode pour les afficher avec indentation grâce à une classe Retrait.

Transféré par

GHOST
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
185 vues2 pages

Structure de fichiers en Java

Le document décrit une classe Repertoire qui implémente une interface AbstractFile. Repertoire stocke une liste de fichiers AbstractFile et définit une méthode pour les afficher avec indentation grâce à une classe Retrait.

Transféré par

GHOST
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

public interface AbstractFile {

public void afficher(); // Interface définissant la méthode afficher()


}
import java.util.ArrayList;
public class Repertoire implements AbstractFile {
private String name;
private ArrayList<AbstractFile> fichiers = new ArrayList<AbstractFile>();
// Liste pour stocker les fichiers du répertoire
private Retrait retrait;
public Repertoire(String name, Retrait retrait) {
this.name = name;
this.retrait = retrait;
}
public void ajouter(AbstractFile f) {
fichiers.add(f); // Ajoute un fichier à la liste
}
public void afficher() {
System.out.println(retrait.getRetrait() + name); // Affiche le nom du répertoire avec le retrait
retrait.augmenterRetrait(); // Augmente le retrait pour les fichiers suivants
for (AbstractFile fichier : fichiers) {
fichier.afficher(); // Appelle la méthode afficher() pour chaque fichier dans la liste
}
retrait.diminuerRetrait(); // Diminue le retrait après l'affichage des fichiers
}
}

class Fichier implements AbstractFile {


private String name;
private Retrait retrait;
public Fichier(String name, Retrait retrait) {
this.name = name;
this.retrait = retrait;
}
public void afficher() {
System.out.println(retrait.getRetrait() + name); // Affiche le nom du fichier avec le retrait
}
}
public class Retrait {
private StringBuffer sbRetrait = new StringBuffer();
public String getRetrait() {
return sbRetrait.toString();
}
public void augmenterRetrait() {
sbRetrait.append("___"); // Ajoute le retrait
}
public void diminuerRetrait() {
if (sbRetrait.length() >= 3) {
sbRetrait.setLength(sbRetrait.length() - 3); // Réduit le retrait
}
}
}

public class Program {


public static void main(String[] args) {
Retrait retrait = new Retrait();
Repertoire repertoire3 = new Repertoire("rép3", retrait);
Repertoire repertoire2 = new Repertoire("rép2", retrait);
Repertoire repertoire1 = new Repertoire("rép1", retrait);
Fichier a = new Fichier("a", retrait);
Fichier b = new Fichier("b", retrait);
Fichier c = new Fichier("c", retrait);
Fichier d = new Fichier("d", retrait);
Fichier e = new Fichier("e", retrait);
repertoire3.ajouter(a);
repertoire3.ajouter(repertoire2);
repertoire3.ajouter(b);
repertoire2.ajouter(c);
repertoire2.ajouter(d);
repertoire2.ajouter(repertoire1);
repertoire1.ajouter(e);
repertoire3.afficher(); // Affiche la structure des répertoires et fichiers
}
}

Vous aimerez peut-être aussi