Problème de lecture d'un répertoire
Bonjour à tous,
sur un petit programme qui se propose d'afficher des images provenant d'un répertoire, j'ai installé deux boutons 'précédent' et 'suivant' dont l'action, si elle est évidente, revient au début ou à la fin du répertoire quand on atteint les limites. Le bouton suivant ne pose pas de problème, mais le 'précédent' bloque. voici le bout de code (c'est peut-être pas d'une grande ingéniosité, et c'est peut-être même "sale" mais bon..je suis autodidacte...mais aussi ouvert à toutes améliorations)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
public void listeRepertoire (File repertoire)
{ // ces six premières lignes ont été chopées sur la faq, merci à Clément Cunin
if (repertoire.isDirectory)
{
File [] list = repertoire.listFiles(extension); //'extension' est un filtre pour ne lire que des images
if (list!=null)
{
for (int i =0; i<list.length;i++)
{
list.repertoire (list[i]);
//c'est là que j'interviens :
if (list[i].equals(f))
{
if(i+1 ==list.length)
{
fichierSuivant=list[0];
break;
}
else
{
fichierSuivant=list[i+1];
} //ce bloc fonctionne
//à partir de là, ça déconne :
if (i==0)
{
fichierPrecedent=list[list.length-1];
break.
}
else
{
fichierPrecedent=list[i-1];
}
}
}
}
}
} |
En fait, j'arrive à afficher le dernier fichier en faisant 'precedent', mais après ça bloque, je ne peux plus remonter encore (mais je peux toujours avancer)..
Je pense que le problème est lié à la boucle 'for' et à l'incrémentation de 'i', mais je ne comprends pas ...
Si vous avez un peu de temps pour me répondre, merci beaucoup...