Fichier txt: ouvrir, chercher, modifier, fermer

Résolu
jule29 Messages postés 10 Date d'inscription dimanche 17 février 2008 Statut Membre Dernière intervention 23 novembre 2008 - 23 nov. 2008 à 16:19
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 - 24 nov. 2008 à 01:07
Bonjour, j'essaie de modifier un fichier texte  qui est de la forme suivante:
# Water Kin. Viscosity (sq. m/sec * 10^-6) (min 0.8, max 1.31)
1118
# Base Eddy Kin. Viscosity (non-dimensional, min 1.0)
10.0
# Water Depth (metres) (max=10000.0)
10000.0

et ça continu...

Par example j'ai besoin de modifier la valeur 1118 par 1120 pour le moment j'ai le code suivant:

Open "" For Input As #1   
Open "" For Output As #2

Do While Not EOF(1)   
    Input #1, MyString1   
     Newstring1 = replace(MyString1, 1118, 1120)
    
Print #2, Newstring1
Loop
Close #1
Close #2

Cela me donne le fichier texte suivant:
# Water Kin. Viscosity (sq. m/sec * 10^-6) (min 0.8
 max 1.31)

1120

# Base Eddy Kin. Viscosity (non-dimensional
 min 1.0)

10.0

# Water Depth (metres) (max=10000.0)

10000.0

Il semblerait que le Input #1 considere "," comme étant un changement de ligne et ça me pose probleme. y aurait il un moyen de remedier à cela?
Merci.

3 réponses

jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
23 nov. 2008 à 17:03
Bonjour,

Regarde dans ton aide en ligne Line Input
3
jule29 Messages postés 10 Date d'inscription dimanche 17 février 2008 Statut Membre Dernière intervention 23 novembre 2008
23 nov. 2008 à 17:26
En effet, merci.
0
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 11
24 nov. 2008 à 01:07
Salut,
On est bien en .NET?

Si oui, ceci fonctionne très bien:
IO.File.WriteAllText("C:\MonFichier.txt",IO.File.ReadAllText("C:\MonFichier.txt").Replace("1118", "1120"))
Mais c'est vraiment pour faire simple, vaut peut-être mieux de parcourir chaque ligne séparément avec ReadAllLines.
0
Rejoignez-nous