Erreur: java.lang.ArrayIndexOutOfBoundsExcept
Résolu/Fermé
balotelli45
-
19 juil. 2012 à 22:04
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 - 20 juil. 2012 à 13:15
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 - 20 juil. 2012 à 13:15
A voir également:
- Erreur: java.lang.ArrayIndexOutOfBoundsExcept
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 1001 outlook - Accueil - Bureautique
- Erreur g030 - Forum Bbox Bouygues
- Erreur 10016 epson - Forum Imprimante
10 réponses
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
19 juil. 2012 à 23:30
19 juil. 2012 à 23:30
Pour t'aider il faudrait au minimum savoir sur quelle ligne se déclenche l'exception, il serait également bon de savoir ce que contient le fichier Chargement_DWH.txt sur lequel tu fais la lecture.
Le Fichier chargement_DWH est un fichier de contrôle Oracle je veux extraire les valeurs de nombre de lignes lus et de nombre de ligne rejetées, alors j'ai lu le fichier et après j'ai voulu stocké les valeurs de ces 2 éléments dans un tableau dans un autre fichier txt que j'ai nommé out.txt voila, l'exception se declenche sur cette ligne: lus = Integer.parseInt(decompose[6]);
arth
Messages postés
9374
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 291
19 juil. 2012 à 23:40
19 juil. 2012 à 23:40
"String[] decompose = lGardee.split(" +"); // " +" au cas où il y aurait plus d'un espace entre les rubriques
lus = Integer.parseInt(decompose[6]); "
Récupérer decompose[6] sans vérifier quel est sa taille, c'est un peu téméraire ;-)
lus = Integer.parseInt(decompose[6]); "
Récupérer decompose[6] sans vérifier quel est sa taille, c'est un peu téméraire ;-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
arth
Messages postés
9374
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 291
19 juil. 2012 à 23:50
19 juil. 2012 à 23:50
Comment ça le code?
On en sait rien nous c'est toi qui connaît le fichier.
SI le split ne renvoie pas plus de 6 éléments alors decompose[6] sera forcément OutOfBound.
On en sait rien nous c'est toi qui connaît le fichier.
SI le split ne renvoie pas plus de 6 éléments alors decompose[6] sera forcément OutOfBound.
voila les 2 lignes du fichier:
Nombre total d'enregistrements logiques lus : 61924
Nombre total d'enregistrements logiques rejetés : 1
je veux extraire les valeurs
et je suis vraiment désolé pour le déragement
Nombre total d'enregistrements logiques lus : 61924
Nombre total d'enregistrements logiques rejetés : 1
je veux extraire les valeurs
et je suis vraiment désolé pour le déragement
arth
Messages postés
9374
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 291
20 juil. 2012 à 00:05
20 juil. 2012 à 00:05
Perso je ferais :
flog = new InputStreamReader (new FileInputStream( "C:\\oraclexe\\XE\\Chargement_DWH.txt") );
while((MyLine = llog.readLine()) !=null)
{
if(MyLine.contains("enregistrements logiques lus"))
int nbLus = Integer.parseInt(MyLine.split(":")[1]);
else if(MyLine.contains("enregistrements logiques rejet"))
int nbRejets = Integer.parseInt(MyLine.split(":")[1]);
}
Et ensuite les écrire dans le fichier de sortie.
Et ensuite
flog = new InputStreamReader (new FileInputStream( "C:\\oraclexe\\XE\\Chargement_DWH.txt") );
while((MyLine = llog.readLine()) !=null)
{
if(MyLine.contains("enregistrements logiques lus"))
int nbLus = Integer.parseInt(MyLine.split(":")[1]);
else if(MyLine.contains("enregistrements logiques rejet"))
int nbRejets = Integer.parseInt(MyLine.split(":")[1]);
}
Et ensuite les écrire dans le fichier de sortie.
Et ensuite
ça marche pas j'ai une exception de type java.lang.NumberFormatException sur la ligne : int nbLus = Integer.parseInt(MyLine.split(":")[1]);
arth
Messages postés
9374
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 291
20 juil. 2012 à 13:15
20 juil. 2012 à 13:15
Essaie avec :
ligne : int nbLus = Integer.parseInt(MyLine.split(":")[1].trim());
ligne : int nbLus = Integer.parseInt(MyLine.split(":")[1].trim());