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

VB.NET Discussion :

Modifier une ligne dans un fichier


Sujet :

VB.NET

  1. #1
    Membre régulier
    Inscrit en
    Octobre 2007
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 162
    Points : 82
    Points
    82
    Par défaut Modifier une ligne dans un fichier
    bonjour
    je veux savoir comment pourrai je faire une modification dans une ligne d'un fichier après recherche d'une valeur données, j'ai essayé le code suivant mais le système me dit que

    Le processus ne peut pas accéder au fichier 'F:\test.acsauto', car il est en cours d'utilisation par un autre processus.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
           Dim SR As New StreamReader("F:/test.acsauto")
            Dim WL As New StreamWriter("F:/test.acsauto")
            Dim ddate As DateTime = DateTimePicker1.Value
            Dim i As Int16 = 0
            Do Until SR.Peek = -1
                ligne = SR.ReadLine()
                If (i > 55) Then MsgBox(ligne.ToString)
                If (InStr(ligne, "Set property ""Date""")) Then
                    WL.WriteLine("Rep.SetProperty ""Date"", ""0""")
                End If
                i = i + 1
            Loop

    merci pour votre aide

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Un StreamReader ouvre le fichier en lecture, sans partage, donc tu ne peux pas ouvrir un StreamWriter sur le même fichier tant que tu n'as pas fermé le StreamReader.

    Quel est le but ? Tu veux remplacer une ligne par une autre ?

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    665
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 665
    Points : 1 161
    Points
    1 161
    Par défaut
    Bonjour,
    Citation Envoyé par tomlev
    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
            Dim lignes() As String = File.ReadAllLines(fichier, System.Text.Encoding.GetEncoding("ISO-8859-1"))
            Dim WL As New StreamWriter(fichier, False, System.Text.Encoding.GetEncoding("ISO-8859-1")) 'encodage pour caractères accentués
            Dim i As Int16 = 0
     
            For Each ligne As String In lignes
                If (i > 3) Then
                    MsgBox(ligne)
                    If CBool((InStr(ligne, "Chaine recherchée"))) Then
                        WL.WriteLine("Chaine remplaçante")
                    Else
                        WL.WriteLine(ligne)
                    End If
                Else
                    WL.WriteLine(ligne)
                End If
                i = CShort(i + 1)
            Next
     
            WL.Close()

  4. #4
    Membre du Club Avatar de Abdellah2010
    Homme Profil pro
    Future développeur
    Inscrit en
    Novembre 2010
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Future développeur
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2010
    Messages : 55
    Points : 52
    Points
    52
    Par défaut
    Vous tentez de d'accéder au fichier par deux modes différents en même temps (Lecture et écriture), ceci et logiquement impossible. Effectuez votre recherche en utilisant StreamReader fermez le ensuite et allez au mode écriture (StreamWriter).

  5. #5
    Membre régulier
    Inscrit en
    Octobre 2007
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 162
    Points : 82
    Points
    82
    Par défaut
    effectivement c'était une erreur de ma part, j'ai ré mes lignes dans une arraylist puis j'écrase le fichier et ça marche très bien, merci pour vos proposition et votre aidere aide

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

Discussions similaires

  1. modifier une ligne dans un fichier .txt
    Par javjouv2011 dans le forum MATLAB
    Réponses: 10
    Dernier message: 19/07/2013, 16h38
  2. modifier une ligne dans un fichier texte
    Par junkie1986 dans le forum Tcl/Tk
    Réponses: 6
    Dernier message: 09/04/2013, 15h17
  3. [Batch] modifier une ligne dans un fichier de configuration (hmailserver)
    Par amidevous dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 15/02/2013, 13h12
  4. code java pour modifier une ligne dans un fichier txt
    Par pacomou dans le forum Général Java
    Réponses: 1
    Dernier message: 03/09/2009, 15h23
  5. Modifier une ligne dans un fichier txt en java
    Par nihad510 dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 09/10/2007, 22h08

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