IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Collection et Stream Java Discussion :

classement tableau de fichiers


Sujet :

Collection et Stream Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 127
    Points : 73
    Points
    73
    Par défaut classement tableau de fichiers
    Je suis en train de créer une application java qui permet de lire le contenu d'un répertoire; pour cela j'utilise la commande suivante :
    File[] listFiles = actualDirectory.listFiles(); (avec actualDirectory le répertoire où se trouve les fichiers.

    Donc, j'ai réussi a classer par ordre alphabétique les fichiers et dossiers issus de listFiles, mais maintenant je souhaiterai trier les dossiers et les fichier :
    les dossiers en premiers, suivis des fichiers (ordre logique, comme l'Explorer de Windows).

    Merci de m'aider. Si vous voulez plus de détails, demandez ...

  2. #2
    Membre éclairé Avatar de g_rare
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 608
    Points : 683
    Points
    683
    Par défaut
    Citation Envoyé par barbiche
    Donc, j'ai réussi a classer par ordre alphabétique les fichiers et dossiers issus de listFiles, mais maintenant je souhaiterai trier les dossiers et les fichier :
    les dossiers en premiers, suivis des fichiers (ordre logique, comme l'Explorer de Windows).
    Je vois pas ce qu'il ya de compliqué mais bon...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    File[] listFiles = actualDirectory.listFiles();
    List dossiers = new ArrayList();
    List fichiers = new ArrayList();
    for(int i=0; i< listFiles.length; i++) {
      if (listFiles[i].isDirectory()) {
        dossiers.add(listFiles[i]);
      } else {
        fichiers.add(listFiles[i]);
      }
    }
    dossiers.addAll(fichiers);
    File[] listeTriee = (File[])dossiers.toArray(new File[]{});
    " Jag blev dömd för fildelning och allt jag fick var en sketen t-shirt. " (tankafritt.nu)
    PAS DE REPONSE PAR MESSAGE PRIVE ! Penser au bouton Résolu en bas de la discussion...

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 127
    Points : 73
    Points
    73
    Par défaut
    merci, ca marche très bien

  4. #4
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Ou pour faire plus propre passer par un Comparator et Arrays.sort() (ou Collections.sort() si tu utilises des listes)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    41
     
     
     
            File[] fileList = new File(System.getProperty("user.home")).listFiles();
             Arrays.sort(fileList, new Comparator() {
     
                public int compare(Object arg0, Object arg1) {
                    // TODO Raccord de méthode auto-généré
                    if(arg0 instanceof File && arg1 instanceof File) {
                        File f0 = (File) arg0;
                        File f1 = (File) arg1;
                        if(f0.isDirectory()) {
                            if(f1.isDirectory()) {
                                return f0.getName().compareTo(f1.getName());
                            } else {
                                return -1; 
                            }
     
                        } else {
                            if(f1.isDirectory()) {
                                return 1;
                            } else {
                                return f0.getName().compareTo(f1.getName()); 
                            }
                        }
     
                    }
                    return 0;
                }
     
     
             });
     
             for(int i = 0 ; i<fileList.length; i++) {
                 if(fileList[i].isDirectory()) {
                    System.out.println(fileList[i].getName()+"/");    
                 } else {
                     System.out.println(fileList[i].getName());
                 }
     
             }
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tableaux] tableau dans fichier rtf
    Par crischprolch dans le forum Langage
    Réponses: 1
    Dernier message: 04/07/2007, 12h17
  2. Conversion d'un tableau en fichier Excel.
    Par Fred2209 dans le forum C++Builder
    Réponses: 13
    Dernier message: 26/10/2006, 21h41
  3. tableau de fichiers
    Par gloubig dans le forum C++
    Réponses: 14
    Dernier message: 29/05/2006, 11h40
  4. tableau et fichier text
    Par tarekcom dans le forum Débuter
    Réponses: 25
    Dernier message: 05/05/2006, 22h30
  5. tableau et fichier
    Par vince2005 dans le forum Langage
    Réponses: 1
    Dernier message: 27/03/2006, 17h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo