Bonjour !
Pour un programme, j'utilise java.io afin de filtrer les fichiers de mon dossier data et compter le nombre de fichiers ayant l'extension que je souhaite. Avec ce count, je génère des menus déroulants avec cP5 pour sélectionner quelle image j'affiche dans mon programme.
Petit problème : à peu près une fois sur trois, lorsque le programme s'initialise, mon compteur renvoie 0, du coup mes menus sont vides !
Quelqu'un saurait si le problème vient de mon code, ou si l'utilisation que j'en fais n'est pas appropriée ? Voici des bouts de code :
Ici mon filtre :
public class myFilter implements java.io.FilenameFilter { public String extension; public myFilter(String extension) { this.extension = extension; } public boolean accept(File dir, String name) { return name.toLowerCase().endsWith(this.extension); } }
Et son utilisation dans le sketch :
java.io.File folder1 = new java.io.File(dataPath(""), "serie1"); myFilter jpgFilterS1 = new myFilter("jpg"); File[] jpgFilesS1 = folder1.listFiles(jpgFilterS1); s1count = jpgFilesS1.length;
Pour info, je me suis basé sur cet exemple du wiki Processing.
D'avance merci pour votre aide
Hors ligne
Une réponse assez concise que j'utilise régulièrement
import java.io.*;
void setup() {
String yourPath = System.getProperty("user.dir");
String[] fichiers = listFichiers(".txt", yourPath);
println(fichiers.length);
println(fichiers);
}
String[] listFichiers(String e, String yourPath) {
final String ext = e;
File directory = new File(yourPath);
String[] myFiles = directory.list(new FilenameFilter() {
public boolean accept(File directory, String fileName) {
return fileName.endsWith(ext);
}
}
);
return myFiles;
}
Dernière modification par top (2014-04-26 14:56:24)
Hors ligne