Modifier des lignes précises d'un txt

Résolu
sebo1100 Messages postés 35 Date d'inscription mercredi 28 juin 2006 Statut Membre Dernière intervention 9 août 2007 - 13 mai 2007 à 13:59
PCPT Messages postés 13278 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 14 mai 2007 à 18:05
Bonjour,

j ai un fichier text de 3000 lignes fixes. J'aimerais faire des modifications sur ce fichier.
Je voudrais modifier les ligne 132, 133 et 134.

y a t il un moyen de modifier seulement ces lignes sans faire un traitement du fichier complet ?

Merci d'avance.

3 réponses

PCPT Messages postés 13278 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 48
13 mai 2007 à 14:18
salut,
tu charges le fichier en buffer, modifies le buffer, et écrases le fichier complet

des exemples sur codyx.org
++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
3
sebo1100 Messages postés 35 Date d'inscription mercredi 28 juin 2006 Statut Membre Dernière intervention 9 août 2007
14 mai 2007 à 12:14
J 'ai trouvé un bout de code que j ai modifié pour mon cas.

Ca donne ceci :
        Dim ArrayFile As New ArrayList

        Dim Ligne132 As Integer = 132
        Dim Ligne133 As Integer = 133
        Dim Ligne134 As Integer = 134
        Dim Fichier As New StreamReader(Application.StartupPath & "\Custo\Score\cstrike_french.txt")
        Dim ligne As String = Fichier.ReadLine

        Do While Not Maligne Is Nothing
            ArrayFile.Add(ligne)
            ligne = Fichier.ReadLine
        Loop
        Fichier.Close()
        System.Threading.Thread.Sleep(1000) ' le temps de le fermer

        Dim EcrireFichier As New StreamWriter(TextBox1.Text, False)
        For i As Integer = 0 To ArrayFile.Count - 1
            If Ligne132 <> i Or Ligne133 <> i Or Ligne133 <> i Then
                EcrireFichier.WriteLine(ArrayFile.Item(i))
            End If
        Next
        EcrireFichier.Close()
        ArrayFile.Clear()

J'ai pas compris l'utilité de ceci :         System.Threading.Thread.Sleep(1000)
0
PCPT Messages postés 13278 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 48
14 mai 2007 à 18:05
pause de 1000 ms pour attendre la fermeture complète du fichier.
tu devrais pouvoir t'en passer

++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
Rejoignez-nous