Ouvrir un fichier en c#

Signaler
Messages postés
79
Date d'inscription
mercredi 22 octobre 2008
Statut
Membre
Dernière intervention
17 juin 2009
-
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
-
salut,
je veux ouvrir un ficchier en c#
            Stream myStream;
            OpenFileDialog openFileDialog1 = new OpenFileDialog();

            openFileDialog1.InitialDirectory = "c:\";
            openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
            openFileDialog1.FilterIndex = 2;
            openFileDialog1.RestoreDirectory = true;

            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                if ((myStream = openFileDialog1.OpenFile()) != null)
                {
                    // Insert code to read the stream here.
                    myStream.Close();
                }
            }

 lorsque j'excécuté ce programme il m as affiché tous les dossiers exsistants mais il n as pa ouvrir le ficheir voulu
MErci d'avance

8 réponses

Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
43
Salut

Je veux juste vérifier quelques points :
Quand tu dis que que veux qu'il s'ouvre, on est bien d'accord que tu parles d'ouvrir dans le sens "accéder au flux de données afin de pouvoir lire/écrire dedans en C#" et non "ouvrir mon fichier comme lorsque je double-clique dessus" ?
Je dis ça parce que dans ton code (peut-être as-tu un code plus complet chez toi), tu crées ton flux de lecture du fichier puis tu le refermes juste après.
Donc quand tu dis "Il n'a pas ouvert le fichier voulu", qu'en sais-tu ? Tu as fait un point d'arrêt ? Tu as mis du code à l'emplacement "// Insert code to read the stream here." ?

Krimog :
while (!(succeed = try())) ;
Messages postés
79
Date d'inscription
mercredi 22 octobre 2008
Statut
Membre
Dernière intervention
17 juin 2009

ui puisque je le trouvé en msdn mais il n as pa pu ouvrir le ficheir
Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
30
Bonjour,

Pour être plus direct: "Comment sais-tu qu'il ne l'a pas ouvert ???"

C# is amazing, enjoy it!
Messages postés
79
Date d'inscription
mercredi 22 octobre 2008
Statut
Membre
Dernière intervention
17 juin 2009

bonsoir ,
dsl pour le dernier message
en  fait je fait un message box et il m affiche le nom de fichier que j'ai deja selectionnée mais je veux savoir est c que je peu pa voir le contenu de ce fichier cad  comment il peu ouvrir une autre fenetre qui contient le ficheir selectionné
j espere que vous avez comprendre mon problème
Merci d'avance
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
52
Oui c'est justement le problème, tu dois maintenant utiliser les méthodes de lecture pour lire le fichier.
Regardes Read et ReadByte...

myStream.Read(...) et myStream.ReadByte()

<hr />
-Blog-
-Site Perso-
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
43
Puisque tu ne cherches qu'à lire ton Stream, tu peux même faire
StreamReader sr = new StreamReader(myStream);
et après utiliser les méthodes ReadLine(), ReadBlock(), Read(), ReadToEnd().

Donc pour info, l'ouverture du fichier marche très bien dans ton programme. Cependant, le C# ne va pas s'amuser à créer lui-même une fenêtre qui affiche le document. Si tu veux que ça le fasse, c'est à toi de le faire manuellement.
Mais d'abord je veux être sûr d'un truc, que j'ai déjà demandé, mais auquel tu n'as pas répondu :
Ton but est-il
- De faire de la lecture / traitement sur ton fichier
ou
- D'ouvrir le fichier comme lorsqu'on double-clique dessus
?

De plus, quand quelqu'un pose des questions, merci de répondre à toutes ses questions dans le post suivant . J'ai posé 2 questions dans mon premier post, tu n'as pas répondu à une seule d'entre elles. Robert33 a répété une de mes questions, tu n'y a toujours pas répondu. Or, et je ne pense pas être le seul, ça me gonfle vraiment de répéter ce que je demande. Nous ne sommes pas devins et nous ne résolvons pas les problèmes en saupoudrant de la poudre magique sur ton programme. Si on pose des questions, c'est qu'on a besoin de la réponse pour comprendre ton problème et donc y apporter une solution.

Krimog :
while (!(succeed = try())) ;
Messages postés
79
Date d'inscription
mercredi 22 octobre 2008
Statut
Membre
Dernière intervention
17 juin 2009

bonjour,
merci bien pour votre réponse
pr votre question je veux juste ouvrir le fichier comme lorsqu'on double-clique dessus
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
43
Tu regardes ton objet openFileDialog1 pour trouver l'emplacement du fichier (donc pas de OpenFile() et donc pas de myStream.Close()), puis tu utilises la classe System.Diagnostics.Process pour lancer ton fichier.

Krimog : while (!(succeed = try())) ;
- Quand le règlement tu respecteras, ravis de te répondre on sera -