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 :

[2.0] Ecrire a la suite d'un gros fichier


Sujet :

C#

  1. #1
    Membre régulier

    Inscrit en
    Décembre 2004
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 85
    Points : 104
    Points
    104
    Par défaut [2.0] Ecrire a la suite d'un gros fichier
    Bonjour,

    Je suis en train de developper un module de log pour une application, et en testant mon module qui utilise une simple instruction TextWriter, je me rends compte que plus le fichier destination est lourd, plus l'ecriture est longue.

    C'est très genant, car apparement, il ouvre le fichier en entier avant d'écrire.

    Quelqu'un aurait une idée pour palier a ce problème ? Un instruction pour ecrire simplement a la fin d'un fichier...

    Merci

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Citation Envoyé par MattC Voir le message
    C'est très genant, car apparement, il ouvre le fichier en entier avant d'écrire.
    Ce qui semble logique: tu ne peux pas ouvrir juste la fin du fichier

    Tu dois ouvrir le ficiher en entier, te positionner à la fin et ecrire.

    La solution à ton pb ? Je dirais: créer un fichier de log par jour

  3. #3
    Membre expérimenté
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Points : 1 566
    Points
    1 566
    Par défaut
    Regarde les méthodes AppendAllText et AppendText de la classe File.
    Mehdi Feki : Modérateur .Net

  4. #4
    Membre régulier

    Inscrit en
    Décembre 2004
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 85
    Points : 104
    Points
    104
    Par défaut
    Citation Envoyé par Thomas Lebrun Voir le message
    Ce qui semble logique: tu ne peux pas ouvrir juste la fin du fichier

    Tu dois ouvrir le ficiher en entier, te positionner à la fin et ecrire.

    La solution à ton pb ? Je dirais: créer un fichier de log par jour
    Quand je disais "ouvrir en entier", c'était mettre en mémoire tout le fichier... comme par exemple le fait si mal BlocNote, alors que n'importe quel éditeur exadécimal ouvre un fichier d'1Go instantanément....

    Citation Envoyé par mehdi_tn Voir le message
    Regarde les méthodes AppendAllText et AppendText de la classe File.
    Nickel ca marche. 8 ms pour ecrire dans un fichier, qu'il soit de 0 octet ou de 50 Mo.

    MErci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ecrire a la suite d'un fichier texte
    Par Lonicpp dans le forum Visual C++
    Réponses: 1
    Dernier message: 25/05/2009, 16h13
  2. [API Windows] Ecrire a la suite sur un fichier texte
    Par pauledmond dans le forum Windows
    Réponses: 3
    Dernier message: 06/06/2007, 12h45
  3. [débutant] ecrire a la suite d'un fichier
    Par mavina dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 08/01/2006, 22h34
  4. [langage] Ecrire un bloc de texte dans un fichier
    Par sarahbes dans le forum Langage
    Réponses: 6
    Dernier message: 10/06/2004, 12h40
  5. Réponses: 4
    Dernier message: 23/10/2003, 09h03

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