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

Entrée/Sortie Java Discussion :

Comment connaitre le nombre de fichier et sous dossier d'un fichier


Sujet :

Entrée/Sortie Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Par défaut Comment connaitre le nombre de fichier et sous dossier d'un fichier
    Voila ma question est un peu bete mais je trouve pas comment faire.

    Je liste un dossier mais je voudrais savoir combien de fichier et sous-dossier et sousousdossier ect.... qu'il contient.

  2. #2
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Citation Envoyé par zulot
    Voila ma question est un peu bete mais je trouve pas comment faire.

    Je liste un dossier mais je voudrais savoir combien de fichier et sous-dossier et sousousdossier ect.... qu'il contient.
    Une solution tout simple : La récursivité

    Tu listes récursivement le dossier et tu indentes une variable à chaque fois que tu rencontres un dossier.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Par défaut
    non mais je liste deja et lister 900 000 dossier c'est un peu long!!!!!!! just epour savoir ca.

    Surtout qu'il me faut cette valeur avant de commencer mon listage.

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

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Dans ce cas non, une telle possibilité n'existe pas (même dans les OS tu vois qu'ils comptent le nombres de fichiers de cette façon), essaies de faire un clic droit et propriétés sous linux ou windows sur des répertoires contenant paquet de fichiers pour te convaincre

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Par défaut
    arf, alors parceque bon pour lister tout une DD c'est un peu long surtout pour en retirer juste un nombre.

    Sinon j'etais partie sur une autre solution connaitre la taille d'un dossier mais la idem ca fonctionne pas il me donne 0 que je lui demande.


    Mais alors comment font les programmes d'analyse antivirus pour mettre une barre de progression sans connaitre le nombre de fichier à analyser?

  6. #6
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Citation Envoyé par zulot
    arf, alors parceque bon pour lister tout une DD c'est un peu long surtout pour en retirer juste un nombre.

    Sinon j'etais partie sur une autre solution connaitre la taille d'un dossier mais la idem ca fonctionne pas il me donne 0 que je lui demande.


    Mais alors comment font les programmes d'analyse antivirus pour mettre une barre de progression sans connaitre le nombre de fichier à analyser?
    Il ne travaille pas sur le nombre de fichiers, mais sur le nombre d'octets lus, car c'est pas difficile de connaitre la taille totale, et à chaque fichier lu, tu calcule le pourcentage déja effectué en fonction de la taille totale.

    Du moins, je crois

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Par défaut
    bah non c'est ce que j'ai essayé de faire.

    Tu connais comment la taille total?
    Moi j'ai essayé avec .length() de la classe FILE mais sur un dossier ca donne 0!!!!!

    Donc idem a moins de faire un parcour initiale je vois pas comment faire.

    Quelqu'un a une autre idée?

  8. #8
    Membre expérimenté
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2004
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2004
    Messages : 230
    Par défaut
    windows renvoi 0 pour les dossier et linux 4096 donc tu ne peut t'y fier

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Par défaut
    Oui c'est ce que je disais tu peux pas te fier a la taille du dossier.

    Donc j'en reviens toujours a la meme question.

    Comment font les logiciel d'analyse pour faire une barre de progression qui avancent au fur et a mesure sur le scan d'un DD complet sur lequel on connait pas le nombre de fichier total?

  10. #10
    Membre expérimenté
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2004
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2004
    Messages : 230
    Par défaut
    on te l'as deja dit
    ils parcourent recursivement le dossier pour y lister les fichier et recuperer leur taille

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Par défaut
    Mais non puisque c'est instantané le demarrage de la barre de progression alors que le listage doit mettre pour des DD pas loin de la minute sans problème j'ai fait le test avec un listage simple.

    Moi je parle de l'initialisation de la barre avec sa valeur min et max.
    Et c'est la valeure max que je cherche a avoir sans listage préalable tout comme les barre pour les analyses genre Kaspersky

  12. #12
    Membre expérimenté
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2004
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2004
    Messages : 230
    Par défaut
    as tu pensais qu'il pouvais les lister en tache de fond et le retenir pour plus tard et le mettre a jour de temps en temps ....

    de plus ca peut dependre de la facon de programmer ...

    mais si tu trouve une autre maniere de faire ....

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Par défaut
    justement c'etait ma question du post!!!!

  14. #14
    Membre expérimenté
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2004
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2004
    Messages : 230
    Par défaut
    mais #### on te dit que tout les programme les listes par recurrence

    on ta donner toutes les reponses tu crois tout de meme pas que les programme liste les fichiers par le saint esprit non?

    donc quand le File en cours est un dossier tu le compte pas et puis que te faut il de plus ? le code ?

    donc voila :

    ON NE LISTE LES FICHIERS ET LES DOSSIERS QUE PAR LA RECURRENCE
    LES DOSSIERS SOUS WINDOWS FONT 0 SUR LINUX 4096 (a verifier)
    IL NY A PAS D AUTRE MOYEN QUE CA
    L OS PROCEDE DE CETTE MANIERE
    LES AUTRES PROGRAMME AUSSI PROCEDE DE CETTE MANIERE edit(ajout) : OU ALORS D APRES CE QUE DIT UN POSTE AVANT IL UTILISE LA TAILLE OCCUPE SUR LE DISQUE DUR EN OCTETS ET FAIT UNE BARRE D'AVANCEMENT AVEC LES OCTETS LUS ET RESTANTS




    voila

  15. #15
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Par défaut
    DSL mais moi j'ai pas été vulgaire.

    Et toi tu comprends pas la question ou relis des le début s'il te plait.

    Parceque la tu reponds n'importe quoi avec des choses que j'ai déjà faites.


    OU ALORS D APRES CE QUE DIT UN POSTE AVANT IL UTILISE LA TAILLE OCCUPE SUR LE DISQUE DUR EN OCTETS ET FAIT UNE BARRE D'AVANCEMENT AVEC LES OCTETS LUS ET RESTANTS
    Donc petit malin comme tu es dis moi comment sans la recurence tu trouves l'espace occupé sur le DD en java?

    Parceque la question etait comment initialiser la barre de progression rapidement, c'est a dire tout le contraire du listage qui est tres long.

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

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    C'est simple, utilises java 1.6

  17. #17
    Membre expérimenté
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2004
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2004
    Messages : 230
    Par défaut
    Citation Envoyé par zulot
    Donc petit malin comme tu es dis moi comment sans la recurence tu trouves l'espace occupé sur le DD en java?
    mais on te dit qu'on peu pas

    edit: le jdk 1.6 ? explique toi!

  18. #18
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 821
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 821
    Par défaut
    Citation Envoyé par zulot
    Parceque la question etait comment initialiser la barre de progression rapidement, c'est a dire tout le contraire du listage qui est tres long.

    Comme dis précédemment, tu ne peux pas avoir "très rapidement" la taille de ton arborescence (à moins de passer par des fonctions natives... genre "du -s" sous linux)

    Tu peux toujours initialiser ta taille avec une valeur par défaut au départ, que tu modifies au fur et à mesure que tu parcours l'arborescence.
    Par contre, il vaut mieux utiliser deux threads différents, un qui parcours l'arborescence pour compter les fichiers et leur taille, et met à jour la taille totale, et l'autre qui fait le traitement et affiche la progression. Sinon ça va faire des pourcentages d'avancement qui vont bloquer longtemps à 99% sur la fin!
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  19. #19
    Membre expérimenté
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2004
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2004
    Messages : 230
    Par défaut
    ou alors si il veut un truc rapide il liste au niveau 0 tout les fichier et dossier de C puis pour chaque dossier il lance un Thread comme ca il parcoureras plusieur dossier a la fois et ca peut etre plus rapide !

    voila sinon il n'y a pas d'autre moyen a moins que t'en trouve une mais on ta dit tout ce qu'on savais !!!

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

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765

Discussions similaires

  1. Réponses: 4
    Dernier message: 01/05/2007, 11h37
  2. Réponses: 2
    Dernier message: 13/06/2006, 16h46
  3. comment connaitre le nombre de <tr> au sein d'un <table>
    Par pit9.76 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/06/2006, 14h27
  4. Réponses: 2
    Dernier message: 05/05/2006, 09h55
  5. comment connaitre le nombre ...
    Par mythtvtalk.com dans le forum Requêtes
    Réponses: 9
    Dernier message: 04/08/2003, 09h18

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