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 :

changer de caractère dans un fichier texte


Sujet :

VB.NET

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    développeur
    Inscrit en
    Janvier 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2013
    Messages : 25
    Points : 1
    Points
    1
    Par défaut changer de caractère dans un fichier texte
    Bonjour,

    je voudrais changer les virgules par des points virgules dans un tout le contenu d'un fichier texte.
    Comment dois-je procéder ?

  2. #2
    Membre averti Avatar de Vince
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    369
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 369
    Points : 366
    Points
    366
    Par défaut
    Tu lis ton fichier ligne par ligne avec un StreamReader, tu fais un LigneLue.replace(",",";") puis tu le réécris là aussi ligne par ligne avec un StreamWriter...

    MSDN StreamReader : http://msdn.microsoft.com/fr-fr/libr...eamreader.aspx
    MSDN StreamWriter : http://msdn.microsoft.com/fr-fr/libr...eamwriter.aspx

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    développeur
    Inscrit en
    Janvier 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2013
    Messages : 25
    Points : 1
    Points
    1
    Par défaut
    Aurais tu un exemple à me proposer car sa fait pas très longtemps que j'ai commencé en vb.net

  4. #4
    Membre averti Avatar de Vince
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    369
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 369
    Points : 366
    Points
    366
    Par défaut
    Citation Envoyé par clément59 Voir le message
    Aurais tu un exemple à me proposer car sa fait pas très longtemps que j'ai commencé en vb.net
    Je viens d'éditer mon message à l'instant, regarde les liens vers MSDN dans la partie "exemple" de chaque page, je pense que c'est bien compréhensible

    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
    Imports System.IO
    Class Program
     
        Shared Sub Main()
     
            ' Get the directories currently on the C drive.
            Dim cDirs As DirectoryInfo() = New DirectoryInfo("c:\").GetDirectories()
     
            ' Write each directory name to a file.
            Using sw As StreamWriter = New StreamWriter("CDriveDirs.txt")
                For Each Dir As DirectoryInfo In cDirs
                    sw.WriteLine(Dir.Name)
                Next
            End Using
     
            'Read and show each line from the file.
            Dim line As String = ""
            Using sr As StreamReader = New StreamReader("CDriveDirs.txt")
                Do
                    line = sr.ReadLine()
                    Console.WriteLine(line)
                Loop Until line Is Nothing
            End Using
     
     
        End Sub
     
    End Class
    Ensuite si tu bloque poste ton code

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    développeur
    Inscrit en
    Janvier 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2013
    Messages : 25
    Points : 1
    Points
    1
    Par défaut
    ok je teste ça et je te tiens au courant.

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    développeur
    Inscrit en
    Janvier 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2013
    Messages : 25
    Points : 1
    Points
    1
    Par défaut
    j'ai une erreur : la référence de l'objet n'est pas définie à une instance de l'objet

    Voici mon code :

    Dim line As String = ""
    Using sr As StreamReader = New StreamReader("FSPM_123456_C.txt")
    Do
    line = sr.ReadLine()
    Console.WriteLine(line)
    line.Replace(",", ";")
    Loop
    End Using

    Using sw As StreamWriter = New StreamWriter("FSPM_123456_C.txt")
    For Each Dir As DirectoryInfo In cDirs
    sw.WriteLine(Dir.Name)
    Next
    End Using

  7. #7
    Membre averti Avatar de Vince
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    369
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 369
    Points : 366
    Points
    366
    Par défaut
    Tu n'as pas compris, la lecture et l'écriture doivent être faits dans la même boucle, voici un exemple rapide :
    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
     
    Dim monStreamReader As New System.IO.StreamReader(<Chemin fichier à lire>, System.Text.Encoding.Default)
    Dim monStreamWriter As New System.IO.StreamWriter(<Chemin fichier à écrire différent du fichier à lire !!!>)
    Dim sLigne as String
     
    Do
         'Lecture d'une ligne
         sLigne = monStreamReader.ReadLine
     
         If sLigne Is Nothing Then
              Exit Do
         End If
     
         'Remplacement de la virgule par le point virgule dans la ligne qui vient d'être lue
         sLigne = sLigne.Replace(",", ";")
     
         'Ecriture de la ligne lue dans le nouveau fichier
         monStreamWriter.WriteLine(sLigne)
         monStreamWriter.Flush()
    Loop Until sLigne Is Nothing
     
    'Fermeture du fichier en lecture et du fichier en écriture
    monStreamReader.Close()
    monStreamWriter.Close()
     
    'Suppression du fichier lu
    File.Delete(<Chemin fichier à lire>)
    'Copie du fichier écrit à la place du fichier lu
    File.Copy(<Chemin fichier à écrire différent du fichier à lire !!!>, <Chemin fichier à lire>, True)

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    développeur
    Inscrit en
    Janvier 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2013
    Messages : 25
    Points : 1
    Points
    1
    Par défaut
    Merci pour ton aide vince sa marche nickel

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 25/07/2006, 08h40
  2. insert un caractère dans un fichier text.
    Par toctoc dans le forum Delphi
    Réponses: 5
    Dernier message: 06/07/2006, 08h36
  3. Réponses: 3
    Dernier message: 07/06/2006, 14h40
  4. Réponses: 3
    Dernier message: 27/06/2005, 16h24
  5. Réponses: 5
    Dernier message: 25/01/2005, 14h26

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