Découpage de String [Résolu]

Signaler
Messages postés
29
Date d'inscription
lundi 11 janvier 2010
Statut
Membre
Dernière intervention
19 septembre 2010
-
Messages postés
29
Date d'inscription
lundi 11 janvier 2010
Statut
Membre
Dernière intervention
19 septembre 2010
-
Salut tout le monde,

Je suis débutant sur java et 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 soit "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 :
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...
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 toute vos réponses !
______________________________________________
Bouhara kamel
Stagiaire : ESECO SYSTEMS
Web3.0 and Web4.0 appliances for videosurveillance, security and risk protection

1 réponse

Messages postés
29
Date d'inscription
lundi 11 janvier 2010
Statut
Membre
Dernière intervention
19 septembre 2010

Salut ,

problème résolu :
if(st.contains(",")) {
String[] values = st.split(",");
q = values[1];
}


___________________________________________
Bouhara kamel
Stagiaire : ESECO SYSTEMS
Web3.0 and Web4.0 appliances for videosurveillance, security and risk protection