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 :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
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());} } }
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 !
Partager