IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

(debutante) StreamWriter/enregistrer un fichier


Sujet :

C#

  1. #1
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 69
    Par défaut (debutante) StreamWriter/enregistrer un fichier
    Bonjour,

    j'ai une erreur avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    string path = @"C:\Documents and Settings\youk\Mes documents\greta\pti\Qcm_2009_PTI\Qcm_2009_PTI\bin\Debug\qcm";
                File.Create(path); 
                FileStream theFile = File.Create(nom_fic);
                StreamWriter writer = new StreamWriter(theFile);
    Je voudrais enregistrer mes fichiers dans le dossier " QCM "

    Sauf que ma variable "thefile" est toujours null...
    pourquoi?

  2. #2
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Par défaut
    ne met pas des chemins comme cela.

    Fais plutot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string path = Application.StartupPath;
    ensuite,

    Faut tester si ca existe d'abord.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(Directory.Exists(path))...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     FileStream theFile = File.Create(nom_fic);
    c'est normal que tu n'utilises jamais le "path" défini juste au dessus?



    après, pense à utiliser un "using" pour nettoyer les ressources (c'est pas le using des namespaces!!)

    enfin, tu devrais pouvoir faire directement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    using (StreamWriter sw = File.Create(nom_fic))
            {
     
            }

  3. #3
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Ce code ne permettra pas de créer un répertoire. Pour ça il y a Directory.CreateDirectory

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (!Directory.Exists(path)) { Directory.CreateDirectory(path); }

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 27
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 29
    Par défaut Autre solution
    Moi, j'ai cette solution qui marche très bien aussi, regardez :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     if (File.Exists("mytest.txt"))
    {
        File.Delete("mytest.txt");
    }
     
        using (FileStream fs = File.Create("mytest.txt"))
    {
        AddText(fs, myfinalxml);
    }
    C'est du C#, et je regarde si il existe avant, si il existe je le supprime et je le recrée.... mytest.txt est le nom de mon fichier que je veux qu'il porte

    Sachant que myfinalxml est la variable qui va rentrer dans mon fichier


    Voilà

    Bonne.Année

  5. #5
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 69
    Par défaut
    ha ouais pratique aussi ça


    merci.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 27
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 29
    Par défaut
    J'ai oublier la fonction Add(), pour ce qui veulent copier ce code, tenez :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    private static void AddText(FileStream fs, string value)
            {
                byte[] info = new UTF8Encoding(true).GetBytes(value);
                fs.Write(info, 0, info.Length);
            }
    Sinon ca ne marcherait pas

    Bonne Année

Discussions similaires

  1. [Débutant] StreamWriter "nom du fichier enregistrer"
    Par EvexR dans le forum C#
    Réponses: 2
    Dernier message: 18/09/2011, 12h33
  2. Réponses: 3
    Dernier message: 01/10/2005, 21h26
  3. [FLASH MX2004] Enregistration du fichier .swf
    Par Ladzhar dans le forum Flash
    Réponses: 1
    Dernier message: 20/09/2005, 14h40
  4. [JSP] où s'enregistrent les fichiers ?
    Par Kyti dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 18/07/2005, 15h15
  5. enregistrement des fichiers tlb
    Par bidson dans le forum XMLRAD
    Réponses: 3
    Dernier message: 26/11/2003, 15h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo