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 :

StringTokenizer ArrayList java


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    334
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 334
    Par défaut StringTokenizer ArrayList java
    Bonjour,
    je souhaiterais faire un parsing de fichier dont les données sont sous forme de:
    2;[15,3,9] --> int;ArrayList
    qqu aurait une idée comment utiliser le StringTokenizer dans ce cas?
    Merci.

  2. #2
    Membre éprouvé
    Profil pro
    Devops
    Inscrit en
    Août 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Devops

    Informations forums :
    Inscription : Août 2006
    Messages : 107
    Par défaut
    Ca te va ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    		String s = "2;[15,3,9]";
     
    		StringTokenizer st = new StringTokenizer(s, ";,[]");
     
    		Integer p1 = new Integer(st.nextToken());
    		ArrayList<Integer> p2 = new ArrayList<Integer>();
    		while (st.countTokens() != 0) {
    			p2.add(new Integer(st.nextToken()));
    		}
     
    		System.out.println(p1 + "; " + p2);

  3. #3
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    334
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 334
    Par défaut
    Merci pour ta proposition, Voici le code que j'ai mis, par contre le retour à la ligne ne marche pas.
    dans mon fichier j'ai plusieurs lignes sous forme de:
    2;[15,3,9]
    3;[7,16,90]
    4;[1,30,8]....

    En plus, quand j'exécute ce code, pour voir par exp, quelle est la liste associée au N°2, ça me revoie une liste avec tous les éléments confondues (y compris ceux des autres lignes)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    ArrayList mt = new ArrayList();
     
    while((line = bufRdr.readLine()) != null)
                {
                           splitter = new StringTokenizer(line, "; [] , ");
                        if (splitter.hasMoreTokens()) {
    //atc ce sont les 1ers éléments par exp "2;"
                           int atc = Integer.parseInt(splitter.nextToken());
    //mot se sont les éléments de la liste
                           int mot = Integer.parseInt(splitter.nextToken());
                            mt.add(mot);                                          
                           }
    }

  4. #4
    Membre éprouvé
    Profil pro
    Devops
    Inscrit en
    Août 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Devops

    Informations forums :
    Inscription : Août 2006
    Messages : 107
    Par défaut
    J'ai ce qui suit comme code. Ca a pourtant bien l'air de marcher :
    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
    		ArrayList<String> bufRdr = new ArrayList<String>();
    		bufRdr.add("2;[15,3,9]");
    		bufRdr.add("3;[7,16,90]");
    		bufRdr.add("4;[1,30,8]");
     
    		StringTokenizer splitter;
    		ArrayList mt = new ArrayList();
     
    		Iterator<String> lines = bufRdr.iterator();
    		while (lines.hasNext()) {
    			String line = (String) lines.next();
    			splitter = new StringTokenizer(line, ";[], ");
    			if (splitter.hasMoreTokens()) {
    				// atc ce sont les 1ers éléments par exp "2;"
    				int atc = Integer.parseInt(splitter.nextToken());
    				// mot se sont les éléments de la liste
    				int mot = Integer.parseInt(splitter.nextToken());
    				mt.add(mot);
    			}
    		}
    		System.out.println(mt);
    Quand tu dis que les "retours a la lignes de marche", ca veut dire quoi ? Donne un exemple d'une liste resultat stp.

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

Discussions similaires

  1. Sérialiser un ArrayList java en XML
    Par absot dans le forum XML/XSL et SOAP
    Réponses: 0
    Dernier message: 22/12/2009, 19h26
  2. Bug arrayList Java
    Par Mickael2604 dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 09/10/2009, 22h57
  3. ArrayList java et Sérialisation
    Par castor21 dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 12/05/2009, 18h38
  4. Problème ArrayList JAVA
    Par Tsquare dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 29/12/2008, 17h52
  5. Erreur ArrayList java 3.2
    Par meddy dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 01/10/2007, 12h14

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