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.