Suppression d'un dossier

Soyez le premier à donner votre avis sur cette source.

Snippet vu 11 101 fois - Téléchargée 24 fois

Contenu du snippet

ce code permet de supprimer une arborescence complete du disque dur en se demarrant dans un nouveau thread !
on le demarre de cette facon :

Thread t = new suppressionHd (new File("c:\\test\\"));
t.start();

Source / Exemple :


//les import pour que cela fonctionne
import java.io.File;

//classe principale qui etend et implements ce dont elle a besoin pour fonctionner
public class suppressionHd extends Thread implements Runnable {
	// constructeur qui recoit un File en parametre
	public suppressionHd(File Finit) {
		// on recupere le parametre
		this.Finit = Finit;
		// on l'affiche pour le fun ;)
		System.out.println("fichier initiale :" + Finit.getName());
	}

	public void run() {
		// on verifie si c'est un repertoire .....
		if (Finit.isDirectory()) {
			// si s'en est un on liste son contenu
			listing = Finit.listFiles();
			// si il n'a pas de contenu ...
			if (listing.length == 0) {
				// ...on supprime le repertoire
				Finit.delete();
				// on previen l'utilisateur
				System.out.println("suppession finni");
			}
			// sinon tant qu'il y a des sou repertoire ....

			while (listing.length > 0) {
				// poiur chaque sous repertoire ...
				for (int i = 0; i < listing.length; i++) {
					// ...on verifie si c'est des fichier ...
					if (listing[i].isFile()) {
						// ... si ca en est on les supprime
						boolean b = listing[i].delete();
						// on verifie si tout c'est bien passe
						System.out.println("suppession de :" + listing[i] + ":"
								+ b);
					}
					// si c'est un repertoire on demare une methode...
					else{
						// on demare la methode
						dlRep(listing[i]);
					}

				}
				// on met a jour listing ...
				listing = Finit.listFiles();
				// ... on verifie si il reste des sous repertoire
				if (listing.length == 0) {
					// si yen a pas on supprime le repertoire de depart
					Finit.delete();
					System.out.println("suppession finni");
					break; // on quite le Thread
				}
			}
			// .....c'est pas un repertoire donc on le supprime directement
		} else if (Finit.isFile())
			Finit.delete();

				this.interrupt(); // on quitte le thread
	}

	// debut de la methode
	private void dlRep(File ToDel) {
		// on list le repertoire donner en parametre
		File[] listing2 = ToDel.listFiles();
		// si il est vide on le supprime
		if (listing2.length == 0)
			// on le supprime
			ToDel.delete();
		// et pour chaque objet File liste on ...
		for (int i = 0; i < listing2.length; i++) {
			// ...verifie si c'est un fichier
			if (listing2[i].isFile()) {
				// on le supprime et on verifie que c'est bon
				boolean b = listing2[i].delete();
				System.out.println("suppession de :" + listing2[i] + ":" + b);
			}
			// sinon c'est un repertoire
			else {
				// on applique de nouveau la methode sur le repertoire
				dlRep(listing2[i]);
			}
		}
	}

	// variable
	public File[] listing;

	public File Finit;
}

A voir également

Ajouter un commentaire Commentaires
Messages postés
2448
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
17
lol y'en a qui sont jamais content
je vais voir un peut c convention pour te faire plaisir lol
mais je trouve que mon code n'est pas si desagreable a lire lol
Messages postés
2113
Date d'inscription
samedi 8 novembre 2003
Statut
Contributeur
Dernière intervention
6 octobre 2012
11
;o)
reste plus que les conventions d ecritures... ;o)

c qd meme joli tous ce vert ;o))

GL

++
Messages postés
2448
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
17
voila pour les commentaire ;)
Messages postés
2448
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
17
merci ! des que j'ai le temps je promet de la reecrire du moins pour les commentaire!!
Messages postés
2113
Date d'inscription
samedi 8 novembre 2003
Statut
Contributeur
Dernière intervention
6 octobre 2012
11
pour les regle regarde bien le lien ;o) tu verras il y en a au moin 2 des les premieres lignes ....
GL ++

ps : le source est qd meme sympa ...
Afficher les 9 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.