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 !