Suppression de fichiers à l’aide du traitement récursif [Java]

introduction

Dans cet article, je vais vous montrer comment supprimer des fichiers et des répertoires à l'aide d'un traitement récursif. Ceci est mon premier message, donc si vous avez des commentaires, veuillez commenter!

la mise en oeuvre

/**
 *Supprimer les fichiers de manière récursive
 * @fichier param Fichier ou répertoire à supprimer
 */
public static void deleteFile(File file) {
		
	//Quitter si le fichier n'existe pas
	if (!file.exists()) {
		return;
	}	
	//Supprimer l'enfant s'il s'agit d'un répertoire
	if (file.isDirectory()) {
		for (File child : file.listFiles()) {
			deleteFile(child);
		}
	}		
	//Supprimer le fichier cible
	file.delete();
}

S'il s'agit d'un répertoire, il peut être supprimé à l'état vide en supprimant d'abord l'objet fichier enfant.

prime

Pendant un moment, j'étais content de pouvoir utiliser le traitement récursif, mais après tout il y avait beaucoup de pionniers ... lol C'est un gaspillage de finir avec ça, alors je vais en présenter un un peu plus avancé!

/**
 *Ne comptez que le nombre de fichiers contenus dans un fichier ou un répertoire
 * @fichier ou répertoire de fichier param
 * @nombre de fichiers de retour
 */
public static int countFile(File file) {				
	int count = 0;	
	//Quitter si le fichier n'existe pas
	if (!file.exists()) {
		return count;
	}
	//S'il s'agit d'un répertoire, comptez les enfants de manière récursive,S'il s'agit d'un fichier, il se compte
	if (file.isDirectory()) {
		for (File child : file.listFiles()) {
			count += countFile(child);
		}
	} else {
		count = 1;
	}
	//Renvoyer le total
	return count;
}

La méthode ci-dessus ne peut compter que le nombre de fichiers qui existent sous l'objet argument! Outre l'aspect pratique de cette méthode, j'aime le traitement récursif car il ressemble à de la programmation.

Recommended Posts

Suppression de fichiers à l’aide du traitement récursif [Java]
Traitement des données à l'aide de l'API de flux de Java 8
Traitement des threads Java
Traitement des chaînes Java
[Java] Traitement de flux
traitement itératif java
Tri à l'aide du comparateur java
Pratique de grattage avec Java ②
Pratique du grattage avec Java ①
Traitement des appels du constructeur JAVA
Java aléatoire, divers traitements
[Java] Développement avec plusieurs fichiers en utilisant package et import
Comment lire un fichier MIDI à l'aide de l'API Java Sound
Essayez d'utiliser RocksDB avec Java
Lire des fichiers binaires en Java 1
[Java] Méthode d'implémentation du traitement du minuteur
Lire des fichiers binaires dans Java 2
Utilisation de Mapper avec Java (Spring)
Traitement parallèle mesuré avec Java
J'ai essayé d'utiliser Java REPL
Comprendre le traitement parallèle Java (Introduction)
Utilisation de Docker depuis Java Gradle
[Swift] Traitement asynchrone à l'aide de PromiseKit
[Traitement] Essayez d'utiliser GT Force.
Traitement de la sortie CSV avec Super-CSV
Suppression des informations Exif à l'aide de sanselan
Faire un diamant en utilisant Java
Résumé du traitement des erreurs Java
Tri des bulles à l'aide de ArrayList (JAVA)