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

Windows Forms Discussion :

[c# 1.1] écrire en effacant la derniere ligne


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2004
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 119
    Par défaut [c# 1.1] écrire en effacant la derniere ligne
    Bonjour a vous
    voila une petit e question bien simple
    je veux ajouter du data dans un fichier en effacant toujour la derniere la déja présente, c'Est pour tenir un log des donné entré dans un formulaire,
    j'écris en utilisation la serialisation d'objet, et comme je veux pourvoir lire le fichier comme un fichier en xml je rajoute une node en début de fichier, et a la fin de mon ouput en xml je rejoute la node de fermeture, tout sequi me manque est une facon d'aller effacer la derniere ligne avant d'écrire l'objet a rajouter

    qui a une idée ...

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Par défaut
    Voila une solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    string fichier = @"C:\fichier.txt";
     
                Encoding encoding = Encoding.UTF8;
                string a_ajouter = "toto";
                string newline = Environment.NewLine;
     
                int charsize = encoding.GetByteCount(newline);
     
                byte[] buffer = encoding.GetBytes(newline);
     
                using (FileStream stream = new FileStream(fichier, FileMode.Open))
                {
     
                    long endpos = stream.Length / charsize;
     
                    for (long pos = charsize; pos < endpos; pos += charsize)
                    {
     
                        stream.Seek(-pos, SeekOrigin.End);
     
                        stream.Read(buffer, 0, buffer.Length);
     
                        if (encoding.GetString(buffer).Equals(newline))
                        {
                            stream.Write(encoding.GetBytes(a_ajouter), 0, encoding.GetByteCount(a_ajouter));
                            break;
                        }
     
                    }
                }

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/08/2011, 11h57
  2. [XL-2003] effacer les derniers caractères du nom de fichier
    Par ninikosim dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/04/2011, 14h24
  3. recuperer ensuite effacer le dernier element d'un vecteur
    Par sitws dans le forum Débuter avec Java
    Réponses: 9
    Dernier message: 17/01/2010, 10h07
  4. Effacer les derniers sites visités
    Par cotede2 dans le forum Firefox
    Réponses: 2
    Dernier message: 09/01/2009, 08h57
  5. effacer la dernier ligne d'un fichier
    Par maz dans le forum C
    Réponses: 2
    Dernier message: 17/11/2006, 11h56

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