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écoupage de string


Sujet :

avec Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 66
    Points : 39
    Points
    39
    Par défaut Découpage de string
    Salut tout le monde,

    Je repost à nouveau sur mon problème de découpage déséspérant je vous explique ...
    Je travaille sur une application visant à récupérer des infos. sous forme de String arrivant sur un port série.

    Je voudrais récupérer dans un String "X,XXXX" les 4 derniér caractères du STring "XXXX" pour effectuer des opérations par la suite.

    Donc je me suis dit pourquoi pas utiliser une méthode simple la méthode substring() comme je le fais ci-dessous :
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public void run() {
    		  System.out.println("lecture COM...");
    		  while(true){
    				try {
    					String st = port.readLine();
    					q = st.substring(2,st.length());/**decoupage du string d'entree*/
    				 	Convtemp();/**methode conversion de la temperature */
    				 	System.out.println(st);
    					} catch (IOException e) {System.out.println(e.getMessage());}
    						  	 }		
    	 }
    L'opération marche une fois et puis fini...plus rien sauf un message d'erreur qui me déséspére...
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    lecture COM...
    vacq =1.8457031
    Rth =1053.2507
    T(deg) =22.265230455221484
    A,0378
    Exception in thread "Thread-0" java.lang.StringIndexOutOfBoundsException: String index out of range: -2
    	at java.lang.String.substring(String.java:1950)
    	at COM.run(COM.java:33)
    	at java.lang.Thread.run(Thread.java:675)

    Le pire dasn tout sa c'est que cette méthode marche sous Windows mais quant je test sous Linux ca ne fonctionne plus...

    Si quelqu'un à une solution, je suis preneur, j'ai aussi tester la méthode getChar(débutdeString, findeSTring, buf,0) mais toujours pareil j'ai une erreur m'indiquant que mon charArray à fait un dépassement négatif???

    Je vous remercie pour toutes vos réponses !

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 26
    Points : 17
    Points
    17
    Par défaut
    Teste si ta chaine st n'est pas égale à null si ça change rien ça ne fera toujours pas de mal.
    Sinon la classe StringTokenizer pourrait éventuellement correspondre à ton besoin.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 66
    Points : 39
    Points
    39
    Par défaut
    Citation Envoyé par cleytus Voir le message
    Teste si ta chaine st n'est pas égale à null si ça change rien ça ne fera toujours pas de mal.
    Sinon la classe StringTokenizer pourrait éventuellement correspondre à ton besoin.
    J'ai fait le test et ca ne change effectivement rien , et si je n'utilise pas la classe StringTokenizer c'est parceque je travaille sur un OS embarqué avec GNU path pour compiler et je ne dispose donc pas d'une version suffisament récente pour utiliser la classe java.util ...
    Je ne sait pas si vous me comprenez mais en gros je suis très limitée en terme de librairie sur mon système.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 66
    Points : 39
    Points
    39
    Par défaut
    J'ai une solution à mon problème !!

    La voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(st.contains(",")) {
    String[] values = st.split(",");
    q = values[1];
    }
    Je l'ai trouvé dans les cours et tutoriels Java ! Par contre je ne comprend pas vraiment pourquoi la méthode substring ne marchait pas???

    @+

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

Discussions similaires

  1. Découpage de string
    Par makia42 dans le forum Langage
    Réponses: 6
    Dernier message: 20/04/2010, 13h28
  2. [Découpage chaine String et decalages binaires]
    Par moulefrite dans le forum Windows Forms
    Réponses: 3
    Dernier message: 08/12/2008, 15h27
  3. [VB 6.0]Travailler sur un String (découpage)
    Par t'djinn dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 13/06/2006, 16h39
  4. Découpage dun string dans l'espace
    Par Clad3 dans le forum OpenGL
    Réponses: 4
    Dernier message: 24/03/2005, 17h25

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