Salut,
Voici mon code, je lis un fichier ligne par ligne et si la ligne commence par "EXSTRS01" je récupére une partie de la chaine
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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package génératorBis;
 
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.StringTokenizer;
 
public class Div {
 
	public static void main (String[] args) throws IOException {
 
 
		 BufferedReader input = new BufferedReader(new FileReader("D:\\RELEVE28112014.txt"));
		 PrintWriter pt = new PrintWriter (new FileWriter ("D:\\AttijariGenerator\\s.txt"));
 
		 String l=input.readLine();
		while (l!=null){
			if (l.substring(0,8).startsWith("EXSTRS01")){
				 StringTokenizer st = new StringTokenizer(l, "|");
 
		 int i =0;
		 while (st.hasMoreElements()) {
			 if (i ==47){
					pt.println((String) st.nextElement());
					}
			 i=i+1;
				String s = (String) st.nextElement();
			}
			}
 
		l=input.readLine();
 
		}
		pt.close();
 
		 input.close();
 
	}}
mais j'ai l'exeption suivante
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 8
at java.lang.String.substring(Unknown Source)
at génératorBis.Div.main(Div.java:22)
malgre que tous les lignes contiennent plus que 8 caractéres!!
aidez moi svp