Bien le bonjour,

j ai un petit souci dans mon code, je m'explique :

je dois prendre un fichier toto et dedans il y a des lignes de 451 caracteres, au 363eme il y a une { que je dois enlever.
Donc je me suis dis que j allais créer un autre fichier prendre de 0 à 363 puis insérer un espace et ptrendre de 364 à 450, pour l'instant tout va bien.
je fais mes testes sur un fichier qui pèse 120 ko.(meme structure de ligne)
quand je fais mes testent avec ce fichier tout va pour le mieux, le probleme c'est que le vrais fichier pèse 77Mega et mon application plante a 220ko avec une belle erreur :'System.ArgumentOutOfRangeException' avec comme informations supplémentaires 'l'index et la longueur doivent faire référence à un emplacement situé dans la chaîne'
la je m'étonne car les lignes sont identique au point de vue de la structure, y a t il quelque chose clearer ??
ou ai je fait nèimporte quoi ?
je ne suis pas tres bon en VB, un petit peu d'aide serait le bienvenue.

ci joint mon 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
29
30
31
32
33
Dim sFileName As String = Application.StartupPath & "\" & "TOTO"
        Dim fs As New System.IO.FileStream(sFileName, IO.FileMode.Open, IO.FileAccess.Read)
        Dim sR As New System.IO.StreamReader(fs)
        Dim fst As New FileStream(Application.StartupPath & "\" & "TITI", FileMode.Create, FileAccess.Write)
        Dim sw As StreamWriter = New StreamWriter(fst)
        Dim sM As String = sR.ReadLine
        Dim ligne As String
        Dim ligne2 As String
        Dim ligne3 As String
 
        'on vérifie si le fichier existe
        If System.IO.File.Exists(Application.StartupPath & "\" & "TOTO") Then
            'lecture ligne par ligne du fichier
            Do
                ligne2 = sM.Substring(0, 363)
                'MsgBox(ligne2)
                ligne3 = sM.Substring(364, 85)
                'MsgBox(ligne3)
                ligne = ligne2 & " " & ligne3
                ' MsgBox(ligne)
 
                '--- on écrit dans le fichier TITI
 
                sw.WriteLine(ligne)
 
                sM = sR.ReadLine
 
            Loop Until sM Is Nothing
            '--- on referme le fichier 
            sw.Close()
            '--- on ferme l'application
            Close()
        End If
merci d'avance