Extraire une ligne d'un fichier texte [débutant]

cs_ansizak Messages postés 191 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 30 juin 2011 - 11 déc. 2007 à 12:02
ketby28 Messages postés 2 Date d'inscription jeudi 15 octobre 2009 Statut Membre Dernière intervention 16 octobre 2009 - 16 oct. 2009 à 10:05
Bonjour,

Je suis débutant et je souhaite creer un programme qui se présente comme ceci:
- l'utilisateur selectionne un fichier texte via un openfile .....................Fait
- le nom du fichier (sans le path) est ajouté a une listbox....................Fait
- Lorsque l'utilisateur selectionne son fichier et clique sur buttoncheck, le programme doit lire le fichier afin dans extraire les lignes et les afficher dans une seconde listbox... c'est là que ça coince.

voici le code à problème:

private

void openFiletxt_FileOk(
object sender,
CancelEventArgs e){

FileInfo file =
new
FileInfo(openFiletxt.FileName);
listBoxviewitem.Items.Add(file.Name);

string path = (file.DirectoryName + file.Name);

}

private
void buttoncheck_Click(
object sender,
EventArgs e){

StreamReader rd =
new
StreamReader(path);

string line;

while ((line = rd.ReadLine()) !=
null){

textBoxvalue.Text = line;

}

rd.Close();

}

Au moment ou je clique sur buttoncheck j'obtiens:
"L'exception  ArgumentNullException n'a pas été gérée
la valeur ne peut pas être nulle
Nom du paramètre: path"

Voilà...
Soyez un indulgents avec l'humble débutant que je suis^^.

Merci à vous.
Cordialement,
Anz.

3 réponses

billou_13 Messages postés 860 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 19 août 2014 29
11 déc. 2007 à 12:21
Bonjour,

La variable path ne doit pas être déclarer dans ta fonction mais plutôt en tant que paramètre de ta classe.

public class toto
{
   private string path;

   /* tes fonctions ici */
}

De plus, je te conseille de changer la ligne :
string path = (file.DirectoryName + file.Name);
par string path = Path
.Combine
(file.DirectoryName, file.Name);
et encore mieux string path = file.FullName; // Ou mettre directement le openFiletxt.FileName

Voila,

A toi de jouer...

Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
1
cs_ansizak Messages postés 191 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 30 juin 2011
11 déc. 2007 à 13:51
J'ai fini par trouver :)) donc merci quand même ^^

J'avais déjà declaré ma string path en public au début, le fait de la redéclarer lui donnait une valeur nulle, c'est tout ^^

Anz
0
ketby28 Messages postés 2 Date d'inscription jeudi 15 octobre 2009 Statut Membre Dernière intervention 16 octobre 2009
16 oct. 2009 à 10:05
Bonjour,
Je souhaites faire exactement ce que tu as fait! c'est à dire un openfile multi + ajouter le non du fichier dans une listbox.
Le problème c'est que je n'arrive pas à compiler ton code. Je but sur le "private" comme je suis vraiment un débutant quelqu'un pourrait m'aider! Merci par avance
0
Rejoignez-nous