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 :

Comment agir sur un fichier texte avec visual Basic


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Technicien de maintenance et formation
    Inscrit en
    Février 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien de maintenance et formation
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2015
    Messages : 4
    Par défaut Comment agir sur un fichier texte avec visual Basic
    Bonjour,

    J'essais de faire des modifications dans un fichier texte avec Visual Basic.

    Avec StremReader j'arrive à lire (ReadLine par exemple) et avec StreamWriter j'arrive a écrire dans la fin du fichier (avec option TRUE).

    Cependant je n'arrive pas à trouver comment faire pour rajouter une ligne ou effacer une partie pour inclure une insertion.

    Merci pour l'aide.

  2. #2
    Membre éclairé
    Homme Profil pro
    .
    Inscrit en
    Février 2014
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2014
    Messages : 50
    Par défaut
    Citation Envoyé par Panoramicks Voir le message
    Cependant je n'arrive pas à trouver comment faire pour rajouter une ligne ou effacer une partie pour inclure une insertion.
    Pour ajouter ou supprimer des caractères, tu charge ton fichier d'origine (StreamReader) puis tu l'écris (StreamWriter) dans un fichier temporaire en ne conservant que ce qui t’intéresse. Dans un deuxième temps tu écrase le fichier de départ avec la nouvelle version modifiée...

  3. #3
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2015
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

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

    Informations forums :
    Inscription : Juillet 2015
    Messages : 128
    Par défaut
    va te renseigner sur le : System.IO.StreamReader() et le System.IO.StreamWriter()

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2013
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2013
    Messages : 235
    Par défaut
    Bonjour,
    Le system.io.file est dédié à ce genre d’évènements
    Ce code devrait t'aider à y voir plus clair:
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            'On va créer un fichier texte sur ton bureau et y inscrire quelque chose:
            System.IO.File.WriteAllText("c:\users\" & Environment.UserName & "\desktop\MonFichier.txt", "abc" & Environment.NewLine & "def" & Environment.NewLine & "ghi" & Environment.NewLine)
     
            Dim Str As String = System.IO.File.ReadAllText("c:\users\" & Environment.UserName & "\desktop\MonFichier.txt")
            MsgBox(Str & "(Lecture de tout le texte brut)")
     
            'Lecture de ligne par ligne et chargement dans le tableau 'Lignes()'
            Dim Lignes() As String = System.IO.File.ReadAllLines("c:\users\" & Environment.UserName & "\desktop\MonFichier.txt")
     
            'Affichage de chaque ligne
            Dim i As Integer = 1
            For Each Line In Lignes
                MsgBox(Line & " => Ligne numéro " & i.ToString)
                i += 1
            Next
     
            'Rechercher un texte donné ('ef' dans ce cas) dans une ligne et la remplacer par 'xxx'
            i = 0
            Dim NewLignes(Lignes.Count - 1) As String
            For Each Line In Lignes
                If Line.Contains("ef") Then
                    NewLignes(i) = "xxx" '(puisque on a trouvé le texte 'ef' dans la ligne)
                Else
                    NewLignes(i) = Line
                End If
                i += 1
            Next
            'Re-écriture du fichier avec les modifications
            System.IO.File.WriteAllLines("c:\users\" & Environment.UserName & "\desktop\MonFichier.txt", NewLignes)
     
            'Re-affichage de chaque ligne du fichier modifié
            Dim Lignes2() As String = System.IO.File.ReadAllLines("c:\users\" & Environment.UserName & "\desktop\MonFichier.txt")
            i = 1
            For Each Line In Lignes2
                MsgBox(Line & " => Ligne modifiée numéro " & i.ToString)
                i += 1
            Next
     
            'Ajout de lignes à la fin du fichier:
            Dim ListeDeLignes As New List(Of String)
            ListeDeLignes.Add("Nouvelle ligne n° 1")
            ListeDeLignes.Add("Nouvelle ligne n° 2")
            System.IO.File.AppendAllLines("c:\users\" & Environment.UserName & "\desktop\MonFichier.txt", ListeDeLignes)
     
            MsgBox("Si tu ouvres le fichier 'MonFichier.txt' (sur ton bureau) tu devrais voir :" & Environment.NewLine & _
                    "abc" & Environment.NewLine & _
                    "xxx" & Environment.NewLine & _
                    "ghi" & Environment.NewLine & _
                    "Nouvelle ligne n° 1" & Environment.NewLine & _
                    "Nouvelle ligne n° 2")
        End Sub

Discussions similaires

  1. [Débutant] Comment générer un fichier tlb avec Visual basic 2010 Express ?
    Par philoul dans le forum VB.NET
    Réponses: 6
    Dernier message: 15/05/2014, 23h21
  2. Comment générer un fichier tlb avec Visual basic 2010 Express
    Par philoul dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 10/05/2014, 15h39
  3. écrire sur un fichier texte avec vb6
    Par bucabuca dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 17/03/2008, 22h25
  4. modifier fichier .txt avec Visual Basic
    Par marco1980 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 29/09/2006, 20h19
  5. Réponses: 7
    Dernier message: 23/03/2005, 22h23

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