Comment écrire du code Java pour supprimer plusieurs fichiers à la fois

En Java, vous pouvez écrire du code qui va supprimer plusieurs fichiers à la fois. Cela peut être un peu plus compliqué que ça en al'air. Le code pour supprimer le fichier ressemble à ceci:

new File ("importantData.txt") delete (). -

Dans ce code, le new File appel se réfère à un fichier unique. Il est très agréable de code, mais il ne vous dit pas comment supprimer un tas de fichiers. Comment pouvez-vous écrire du code pour traiter plusieurs fichiers à la fois?

Heureusement, Java fournit des moyens de traiter avec des grappes de fichiers. Une façon utilise un tableau de Fichier objets.

IHateTxtFiles importation java.io.File classe {static void main (String args []) {publics dossier du fichier = new File (".") - pour (fichier: folder.listFiles ()) {if ((file.getName ) .endsWith ()) {de File.Delete () -} "txt."}}}

Dans de nombreux systèmes d'exploitation (y compris Windows, Mac OS et Linux), un seul point représente le répertoire de travail courant: le lieu où un programme commence à la recherche de fichiers. Pour un programme Java exécuté dans Eclipse, ce répertoire de travail est le répertoire racine du projet.

Par exemple, imaginez que le code ci-dessus vit dans un projet Eclipse nommé 16-06. Ensuite, votre disque dur contient un dossier nommé 16-06, qui à son tour, contient un dossier nommé src- qui, à son tour, contient la IHateTxtFiles.java fichier. Le répertoire de travail du programme est le 16-06 répertoire. Ainsi, le code

folder = new File (".")



marques dossier reportez-vous au répertoire nommé 16-06.

image0.jpg

Vous pensez probablement: “ le répertoire racine du projet, 16-06, est un dossier, pas un fichier. Mais le code dit folder = new File ("."). Pourquoi ne dit pas le code folder = nouveau dossier (".")?

Il se trouve que la plupart des systèmes d'exploitation brouillent les différences entre les dossiers et fichiers. Pour les fins de Java, le document IHateTxtFiles.java est un fichier, le dossier nommé src est aussi une sorte de fichier et le dossier nommé 16-06 est aussi une sorte d'un fichier.

En Java, tous les Fichier objet a une listfiles méthode, et lorsque vous appelez (folder.listFiles), vous obtenez un tableau. Chaque “ la valeur ” stocké dans le réseau est l'un des fichiers de la folder.

pour (TypeName variableName : RangeOfValues) {Déclarations}

La RangeOfValues est un tableau. Le tableau contient tous les fichiers à l'intérieur du 16-06 répertoire de projet. Ainsi, le renforcement pour boucle prend chaque fichier à l'intérieur du 16-06 répertoire et demande “ t le nom de ce fichier se termine avec .SMS?”

si (file.getName (). endsWith (". txt"))

Si le nom d'un fichier particulier se termine avec .SMS, supprimer ce fichier:

File.Delete () -

Avant d'exécuter cet exemple, le 16-06 répertoire contient choses nommées src, FichierA.txt, sauve-moi, et xFile.txt.

image1.jpg

Après l'exécution de cet exemple, le 16-06 répertoire contient encore src et sauve-moi, mais ne contient pas plus FichierA.txt ou xFile.txt.

image2.jpg

Après l'exécution de ce programme, vous pourriez ne pas voir les changements dans Package Explorer d'Eclipse. Pour vérifier que le répertoire du projet ne contient plus .SMS Fichiers, sélectionnez le 16-06 branche dans l'Explorateur de packages. Ensuite, dans le menu principal Eclipse, cliquez sur Fichier-Actualiser.

Package Explorer d'Eclipse ressemble à ça afficher tous les fichiers et dossiers sur une partie de votre disque dur. Mais les apparences peuvent être trompeuses. Certains des branches de l'Explorateur de packages représentent aucun fichier ni dossier. Et certains des fichiers et dossiers de votre disque dur ne figurent pas dans Package Explorer d'Eclipse.

En plus de choses comme src, qui apparaît dans Package Explorer d'Eclipse, le dossier d'un projet contient généralement des fichiers nommés .classpath et .projet, et des dossiers nommés .paramètres et poubelle. Ces fichiers et dossiers supplémentaires ne sont normalement pas affichés dans le paquet Explorer Eclipse.

Quand vous appelez (folder.listFiles), le tableau résultant ne comprend pas les choses dans les sous-répertoires de la dossier répertoire.


» » » » Comment écrire du code Java pour supprimer plusieurs fichiers à la fois