Erreur d'index lecture fichier
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:
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
Citation:
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