Bonjour à tous,
Le but est de récupérer les données contenue dans un fichier .vcf
Je veux analyser une à une toutes les lignes, et en fonction de la première lettre d'une ligne, appeler une fonction qui va récupérer soit le nom, le prénom, le mail ou le numéro de tel.
Voici le code:
Le problème, c'est que les if provoquent toujours une erreur... merci de me dire pourquoi ça ne marche pas je ne vois vraiment pas.Code:String nom = " ", prenom = " ", mail = " ", telephone = " "; try { BufferedReader buff = new BufferedReader(new FileReader( "fichier.txt")); try { String line; while ((line = buff.readLine()) != null) { if (line.charAt(0) == 'F') { int espace = 0; // stocke le lieu où l'espace se situe dans la // chaine for (int i = 0; i < line.length(); i++) { if (line.charAt(i) == ' ') { espace = i; break; } } nom = line.substring(espace + 1); } if (line.charAt(0) == 'N') { } if (line.charAt(0) == 'E' && line.charAt(1) == 'M') { } if (line.charAt(0) == 'T') { } } System.out.println(""); System.out .println("Voici les caractéristiques du contact:"); System.out.println("Prenom: " + prenom); System.out.println("Nom: " + nom); System.out.println("Email: " + mail); System.out.println("Téléphone: " + telephone); System.out.println(""); } finally { buff.close(); } } catch (IOException ioe) { System.out.println("Erreur --" + ioe.toString()); } }
Le msg d'erreur est le suivant:
Code:Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 0 at java.lang.String.charAt(Unknown Source) at baby.gg.Modification(gg.java:30) at baby.main.main(main.java:6)
-----