Bonjour,
je voudrais changer les virgules par des points virgules dans un tout le contenu d'un fichier texte.
Comment dois-je procéder ?
Bonjour,
je voudrais changer les virgules par des points virgules dans un tout le contenu d'un fichier texte.
Comment dois-je procéder ?
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
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
Ensuite si tu bloque poste ton code
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
ok je teste ça et je te tiens au courant.
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
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)
Merci pour ton aide vince sa marche nickel
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager