Faire la liste des fichiers d’un dossier

Le programme qui suit permet de faire la liste des fichiers qui se trouvent dans un dossier sélectionné par l’utilisateur.
Cette version est réservée à Processing 2.0 et plus pour deux raisons :
– la librairie « File » n’est plus chargée par défaut, il faut donc l’importer au début du programme. File est une librairie complète d’accès aux fichiers.
– la fonction selectFolder() ne s’utilise plus sans arguments, il faut désormais spécifier un texte à afficher et le nom de la fonction qui est appelée pour traiter le résultat.

// version pour processing 2.07

import java.io.File; // librairie java permettant de manipuler l'objet File dans processing 2 et +
String[] ListeFichiers; // la liste des fichiers
String[] types = {".jpg", ".jpeg", ".png"}; // les types de fichiers qui seront listés

void setup(){
size(800, 600);
}

void draw(){
// fonction à créer lorsque l'on veut utiliser les touches du clavier
}

void keyReleased(){
if(key=='o'){
// Si on clique sur la touche 'o', processing ouvre une boite de dialogue
// pour sélectionner un dossier
// puis le transmet à la fonction nommée "ObtiensLeContenuDuDossier"
selectFolder("choisissez un dossier", "ObtiensLeContenuDuDossier");
}
}

void ObtiensLeContenuDuDossier(File f){
// fonction qui traite
File[] ff = f.listFiles();
ListeFichiers = new String[0];
for(File fff:ff){
String n = fff.getAbsolutePath();
boolean isok = false;
for(String type:types){
// on vérifier que le fichier appartient à un type autorisé
String[] m = match(n, type+"\\Z");
if(m != null){
isok=true;break;
}
}
if(isok){
ListeFichiers = (String[]) append (ListeFichiers, n);
}
}
println(ListeFichiers);
}

Ici, le programme se déclenche lorsque l’on appuie sur la touche « o ». La liste « ListeFichiers » est alors remplie avec tous les chemins absolus vers les fichiers qui ont les terminaisons choisies (ici : jpg, jpeg et png).
Le résultat est ensuite montré à l’aide de la commande println.
Ce programme ne fonctionne pas en mode Javascript.

Leave a Reply