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

avec Java Discussion :

Détecter si un répertoire est vide


Sujet :

avec Java

  1. #1
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2011
    Messages
    756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 756
    Par défaut Détecter si un répertoire est vide
    Salut, j'ai bricolé une méthode pour savoir si une série de répertoire était vide en utilisant lenght sur sur la liste de son contenu, mais je voulais savoir s'il n'y avait pas une méthode permettant de récupérer cette information directement.
    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
     
    public String nextUU(Settings set,String ip){
    		String repData="\\\\"+ip+"\\"+set.getpathData();
    		File f=new File(repData);
    		if(f.exists()){
    			if(f.isDirectory()){
    				File[] liste=f.listFiles();
    				for(File fRead:liste){
    					//for each directory read
    					if(fRead.isDirectory()){
    						if(fRead.listFiles().length>0){
    							return fRead.getName();
    						}
    					}
    				}
    			}
    		}
    		return "";
    	}
    Merci !

  2. #2
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 209
    Billets dans le blog
    52
    Par défaut
    Il n'y a pas de fonction dans le standard retournant directement l'information. Cependant, tu peux réaliser une fonction qui fait cela (avoir des sous-méthodes est plus facile à lire):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public static boolean isDirectoryEmpty(File file){
      if(file != null && file.isDirectory()){
       return ( file.list().length == 0 ? true : false); 
      }
      return false;
     }
    }
    Sinon, je ne sais pas si cela est volontaire, mais ton code s’arrête au premier dossier non vide de ta liste.

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  3. #3
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Tu cherches à savoir si une arborescence de répertoire ne contient aucun fichier ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2011
    Messages
    756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 756
    Par défaut
    Ben en gros, j'ai un répertoire avec plusieurs sous répertoires.

    Et je veux retourner le premier nom de sous répertoire non vide ou la chaine vide si tous les sous répertoires sont vides. C'est ce qu'est supposé faire ma fonction en tout cas.

    Mais comme j'ai pas encore testé, je m'inquiétais du fait d'utiliser la longueur de la liste parce que j'ai souvent eu des problèmes avec des fichiers cachés etc etc, en c je me rappelle même qu'il compte le . comme le répertoire courant et qu'en fait on est jamais vide parce qu'on se contient soit même.

    Enfin c'est un peu bizarre, mais si le soucis ne se pose pas pour java il n'y a pas de problèmes

    Merci !

  5. #5
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    A partir de Java 7 on peut utiliser Files.walkFileTree() pour parcourir une arborescence...


    a++

Discussions similaires

  1. Comment détecter qu'un répertoire est en réseau ?
    Par HPulluard dans le forum API, COM et SDKs
    Réponses: 7
    Dernier message: 09/05/2008, 10h07
  2. Comment savoir si un répertoire est vide
    Par mundu dans le forum Général Python
    Réponses: 5
    Dernier message: 06/05/2008, 11h51
  3. Message si répertoire est vide
    Par palcoquoz dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 14/05/2007, 08h23
  4. Réponses: 2
    Dernier message: 21/02/2007, 10h27
  5. Comment détecter si un tableau est vide ?
    Par ErPi dans le forum Langage
    Réponses: 6
    Dernier message: 27/06/2005, 18h50

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