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

Langage Java Discussion :

méthode stringToKenizer() ne fonctionne pas


Sujet :

Langage Java

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 128
    Points : 53
    Points
    53
    Par défaut méthode stringToKenizer() ne fonctionne pas
    bonjour!
    le bout de code suivant permet de:
    ouvrir un flux vers un dossier contenu dans mon ordinateur
    tester s'il s'agit d'un dossier ou non
    si c'est oui, mettre le contenu du dossier dans une matrice (mais sous quelle forme se présente le contenu dans la matrice?)
    et puis j'ai essayé avec la méthode StringTokenizer() de récupérer la liste de mots de la matrice.
    en exécutant le code, rien ne s'affiche
    je cherche pourquoi mon code ne m'a rien affiché (pourtant j'ai utilisé le toString() pour formater le contenu de ma matrice en chaine de caractères, et que la commande suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    			System.out.println(listeFichiers.toString());
    me génère ceci: [Ljava.io.File;@10b62c9


    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
    import java.io.File;
    import java.util.StringTokenizer;
     
    public class ParcoursDossier {
    	public static void main(String[]args){
     
    	File dossier = new File ("C:\\Users\\NAIRA 0010 SCORPION\\Desktop\\echantillon");
    	{
    		if (dossier.isDirectory()){
    			File[] listeFichiers = dossier.listFiles();
    			if(listeFichiers != null){
    				StringTokenizer st = new StringTokenizer(listeFichiers.toString());
    			}
    		}
    	}
    	}
    }
    merci d'avance !

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Vous essayez de faire quoi exactement. Votre but est d'obtenir quoi? Parce que ce code c'est un mélange de fonctions qui n'a ni queue ni tête.

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 128
    Points : 53
    Points
    53
    Par défaut
    justement, j essaye de comprendre et c'est expliqué plus haut:
    accéder à mon dossier, vérifier si l'accès est réussi avec dossier.isDirectory() , mettre le contenu du dossier dans une matrice (mais je vous demande dans quelle forme se présente déjà ce contenu dans la matrice: octets, chaines de caractères...?).
    j'ai essayé après de convertir ce contenu en chaine de caractères avec tostring, et de le récupérer sous forme de liste de mots avec StringToKenizer().

    j'insiste sur j'ai essayé mais je sais que ça renferme beaucoup de "fautes" , donc si pouvez m'éclairer quelques points n'hésitez pas ( et ça sera mieux de répondre avec un ton plus gentil, donc plus professionnel)
    merci !

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Ce que je n'ai pas compris, c'est qu'est-ce que vous entendez par "le contenu du répertoire" et sous quel format au final vous le voulez.

    Vous voulez une liste de noms de fichier? Le contenu des fichiers, l'ensemble des mots contenu dans ces fichiers? Autre chose? Chaque besoin amènera une solution différente.

  5. #5
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 128
    Points : 53
    Points
    53
    Par défaut
    j'avance petit à petit et je je vais vous expliquer plus clairement :
    au fait, je cherche comment pouvoir lister le contenu de mon dossier, c-a-d, lire les fichiers un par un et mettre les contenus de tout les fichiers dans un seul fichier.
    StringToKenizer va me servir par la suite pour obtenir le contenu mot par mot.
    j'espère que c'est clair jusqu'ici
    mais je profite aussi pour éclairer d'autres points; si je fais ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    import java.io.File;
    import java.util.StringTokenizer;
     
    public class ParcoursDossier {
    	public static void main(String[]args){
     
    	File dossier = new File ("chemin_dossier");
    	{
    		if (dossier.isDirectory()){
    			File[] listeFichiers = dossier.listFiles();
                    }
            }
     } }
    le code va ouvrir le dossier, et mettre son contenu(la liste des fichiers) dans la matrice que j'ai nommé listefichiers. je m'interroge sur le format du contenu de la matrice: je m explique: les fichiers du dossier contiennent de l' information brute, mais si je les mets dans une matrice, quelle sera leur format? (j'espère être claire)

    sinon, après avoir récupéré le contenu du dossier, je souhaite maintenant parcourir un par un les fichiers, récupérer leurs contenus et le mettre dans un seul fichier.
    avez-vous des suggestions?

    Merci

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Citation Envoyé par Nayra Voir le message

    le code va ouvrir le dossier, et mettre son contenu(la liste des fichiers) dans la matrice que j'ai nommé listefichiers. je m'interroge sur le format du contenu de la matrice: je m explique: les fichiers du dossier contiennent de l' information brute, mais si je les mets dans une matrice, quelle sera leur format? (j'espère être claire)
    Aucun format en particulier. La matrice ne contient pas le contenu des fichiers, mais des Objet File, qui permettent d'identifier le fichier (non nom, où il se trouve, etc). Pour lire le contenu d'un fichier, il faut utiliser la classe FileInputStream. Cette classe permet une lecture binaire du fichier. Pour lire ce stream en tant que texte, il faudra utiliser en plus la classe InputStreamReader en lui précisant l'encodage à utiliser. Tu devra alors boucler en lecture sur ce Reader pour lire ton fichier et séparer les mots.


    sinon, après avoir récupéré le contenu du dossier, je souhaite maintenant parcourir un par un les fichiers, récupérer leurs contenus et le mettre dans un seul fichier.
    avez-vous des suggestions?

    Merci
    Pour juste créer un Fichier qui contient l'ensembles des fichiers du répertoire, il suffit d'ouvrir un FileOutputStream sur le fichier de destination, de boucler sur les FileInputStream 1 à 1 et pour chacun de boucler en lecture binaire dans un buffer que tu réécrit au fur et à mesure dans le fichier de destination.


    Pour plus de détails sur la manipulation ds stream, voir la FAQ de developpez, il y a plein d'exemples.

  7. #7
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 128
    Points : 53
    Points
    53
    Par défaut
    FileInput Stream va me permettre de lire d'un seul fichier, mais lâ j'ai une liste de fichier que je n'arrive pas à parcourir (parcourir le contenu) un par un

  8. #8
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    tu dois faire un InputStream par fichier. Comme je l'ai dit, faut boucler.

  9. #9
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 128
    Points : 53
    Points
    53
    Par défaut
    merci énormément!
    la discussion m'a permis de comprendre un tas de méthodes qui me seront utiles

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 27/08/2010, 11h45
  2. [XL-2003] Méthode Copy ne fonctionne pas
    Par sagitarium dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 30/09/2009, 13h58
  3. Méthode objet ne fonctionne pas (4D 2003)
    Par Jimmy Jazz dans le forum 4D
    Réponses: 7
    Dernier message: 18/09/2009, 14h03
  4. Ma méthode ajouter ne fonctionne pas
    Par beegees dans le forum C++
    Réponses: 6
    Dernier message: 14/05/2008, 15h50
  5. méthode OfType() ne fonctionne pas
    Par maa dans le forum C#
    Réponses: 7
    Dernier message: 21/01/2008, 09h12

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