Fichier et Probleme de StreamReader

Maiku Messages postés 190 Date d'inscription dimanche 10 avril 2005 Statut Membre Dernière intervention 4 juillet 2007 - 17 mars 2006 à 09:07
Le_proprio_de_mykeyes Messages postés 60 Date d'inscription mardi 26 juillet 2005 Statut Membre Dernière intervention 16 avril 2006 - 18 mars 2006 à 00:07
Salut

Je developpe un programme qui consiste à rechercher dans un fichier, des virus avec leurs solutions, et un commentaire.
Lorsque je fais une recherche sur un virus, dans une liste apparait les noms des virus ressemblant à la recherche tapée, je clique sur un nom et la solution le commentaire apparaissent.
La recherche marche mais qu'une seule fois, je m'expliqe : je clique sur le nom d'un des virus trouvé, le programme m'affiche bien les infos correspondantes à ce virus, mais si je clique sur un autre des resultat trouvé, il plante et me donne une erreur :

Une exception non gérée du type 'System.ArgumentException' s'est produite dans mscorlib.dll


Informations supplémentaires : Le flux ne peut pas être lu.

Voici le Code de la procedure concernée :


this.Size =
new Size(800,408);


StreamReader liresoluce =
new StreamReader(solucevirus);


lire = liresoluce.ReadLine();



int select;


select = Nomvirustrouvée.SelectedIndex;


i=0;



while(lire !=
null)


{



if(i == select)


{


MessageBox.Show("indexsoluce :"+indexsoluce);


MessageBox.Show("indexrecup : "+indexrecup[1]);



this.solucevirustrouvée.Text=lire;


i = i + 1;


}



else


{


i = i + 1;


}


lire = liresoluce.ReadLine();


}


liresoluce.Close();


StreamReader lirecomm =
new StreamReader(commvirus);


lire = lirecomm.ReadLine();


i=0;



while(lire !=
null)


{



if(i == select)


{



this.CommT.Text=lire;


i = i + 1;


}



else


{


i = i +1;


}


lire = lirecomm.ReadLine();


}


lirecomm.Close();



this.SolutionT.Visible=
true;



this.Commentaire.Visible=
true;



Qq pourrait-il me dire pourquoi je ne peux voir les infos que d'un seul virus, et que des que je change de virus ca plante ?
Merci d'Avance
Maiku

3 réponses

TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 23
17 mars 2006 à 11:08
Ca plante a quelle ligne ?

Tu essaies peut etre de faire un ReadLine alors que tu es en fin de fichier.

::|The S@ib|::
MVP C#.NET
0
Maiku Messages postés 190 Date d'inscription dimanche 10 avril 2005 Statut Membre Dernière intervention 4 juillet 2007
17 mars 2006 à 12:09
Salut

Ca plante a cette ligne la :

StreamReader liresoluce = new StreamReader(solucevirus);

Je suis pas sur mais je pense que c'est parce que a chaque que je change de virus, je redeclare le streamreader, car cette procedure se declenche sur un evenement selectedindexchanged.
Pourtant je ferme le fichier en fin de procedure.

Maiku
0
Le_proprio_de_mykeyes Messages postés 60 Date d'inscription mardi 26 juillet 2005 Statut Membre Dernière intervention 16 avril 2006
18 mars 2006 à 00:07
Je te conseille de vérifier "solucevirus" puisque la valeur doit etre "null" (System.ArgumentException = erreur d'argument OU fichier introuvable).
0
Rejoignez-nous