Lister un dossier

jeremieT Messages postés 14 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 10 juin 2009 - 27 avril 2009 à 00:02
cs_MoH008 Messages postés 238 Date d'inscription lundi 2 mars 2009 Statut Membre Dernière intervention 29 septembre 2011 - 29 mai 2009 à 16:39
Bonjour,
j'essai de lister les fichiers .avi d'un dossier. Le code que j'ai écris me semble correct, pourtant je reçois une exception java.lang.NullPointerException         appartement cela veut dire que l'une des cases d'un tableau(surement listefilmsDD ) n'est pas définie, mais je ne vois pas laquelle.

vous pouvez m'aider? merci d'avance

import java.io.File;
import java.io.IOException;

public class ListerRepDD {
    
    static String [] listebrute ;
    static String [] listefilmsDD ;
    static int i = 0 ;
    static int j = 0 ;
    
public static String[] listeur(File rep) throws IOException
{
    try{
        listebrute = rep.list();
        for(i=0;i<listebrute.length;i++)
        {
            if(listebrute[i].endsWith(".avi"))
            {
                listefilmsDD[j]=listebrute[i];
                System.out.println(listefilmsDD[j]);
                j++;
            }
        }
    }catch (Exception e) {System.out.println(e);}
    return listefilmsDD;
}
}

4 réponses

Utilisateur anonyme
27 avril 2009 à 10:24
Salut,

En supposant que listebrute contient bien tous les fichiers du répertoire x dont des .avi (on pourait vérifier la longueur de listebrute ) :

try{
        listebrute = rep.list();
System.out.println("longueur de listebrute: " + listebrute.length); // <<<<<<<<<< ici
        for(i=0;i<listebrute.length;i++)
        {

Mais combien d'éléments penses tu pouvoir enregistrer dans listefilmsDD, moi je pense aucun, tu n'as pas une petite idée du pourquoi?

Dommage que tu ne nous a pas donné la ligne qui provoque le NullPointerException.

J'attend tes commentaires et questions.

Cordialement,

Dan

Ps

Au fait le code que tu donnes est complet (concernant l'obtention de la liste bien entendu)?
0
jeremieT Messages postés 14 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 10 juin 2009
27 avril 2009 à 12:48
merci de m'aider damino,
j'ai en effet donné tout le code de ma classe( elle est appelée par une autre qui contient le main)
comme je récupère une exception et non pas une erreur, je ne récupère malheureusement pas le num de la ligne ou ça bloque.
0
Utilisateur anonyme
27 avril 2009 à 17:39
Salut,

As-tu ajouté le print de la longueur de listebrute sinon ajoute le ici
ajoute également celui de la longueur de llistefilmsDD:

System.out.println("longueur de listebrute: " + listebrute.length);
System.out.println("longueur de llistefilmsDD: " + listefilmsDD.length);  // ajoute ce print et on saura
for(i=0;i<listebrute.length;i++)
        {
            if(listebrute[i].endsWith(".avi"))
            {
                listefilmsDD[j]=listebrute[i];
                System.out.println(listefilmsDD[j]);
                j++;
            }
        }
Et stp, donne mi ces 2 longueurs.

Nous agirons en conséquence...

A+

...\ Dan /...
0
cs_MoH008 Messages postés 238 Date d'inscription lundi 2 mars 2009 Statut Membre Dernière intervention 29 septembre 2011 1
29 mai 2009 à 16:39
Salut,
il est vrai que si tu avais instancié listefilmsDD sa aurait été plus simple :)
Mais comme tu ne sais pas combien d'éléments de type .avi peut contenir ton dossier je te conseille un tableau dynamique : List<string> listefilmsDD

The possible meet the impossible to become the possimpible !!
0
Rejoignez-nous