Découper un fichier en plusieurs fichiers [Résolu]

Jojo092 137 Messages postés samedi 24 septembre 2005Date d'inscription 12 avril 2013 Dernière intervention - 1 févr. 2011 à 14:39 - Dernière réponse :  Utilisateur anonyme
- 28 mars 2013 à 21:21
Bonjour,

je fais appel à vous, car là je bûche sur un problème (qui doit sûrement être très benêt...)
Bref, voilà j'ai un fichier qui contient plus de 5000 lignes et je voudrais en fait lire ce fichier et créer des nouveaux fichiers avec 150 lignes à chaque fois dans chaque fichiers. ca fait un moment que je me prends la tête à trouver ma condition pour fermer mon StreamWriter et en ouvrir un nouveau... (à moins qu'il y ai une méthode mieux adaptée...)

Merci d'avance à ceux qui m'aideront.

Bonne journée ^^
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - 1 févr. 2011 à 23:04
3
Merci
Salut
Module Module1
 Dim listitems() As String
Private Sub readfile()
        Dim path As String = "E:\blablatest.txt" ' à modifier selon le fichier
        Try
            listitems = System.IO.File.ReadAllLines(path)
        Catch ex As Exception
            Console.WriteLine("fichier introuvable")
            End
        End Try

    End Sub
Private Sub writefile()
        Dim iter As Integer
        Dim namefile As String
        Dim nlines As Integer
        Dim reste As Integer
        Dim startindex As Integer
        Dim part() As String

        nlines = 150
        startindex = 0
        Math.DivRem((listitems.Length - 1), nlines, reste)
        For iter = 0 To (listitems.Length - 1) \ nlines
            namefile = "E:\blabla" & CStr(iter + 1) & ".txt"
            Try
                ReDim part(nlines)
                Array.Copy(listitems, startindex, part, 0, nlines)
                System.IO.File.WriteAllLines(namefile, part)
                startindex += nlines
            Catch ex As Exception

            End Try
        Next
        Try
            ReDim part(reste)
            namefile = "E:\blabla" & CStr(iter) & ".txt"
            Array.Copy(listitems, listitems.Length - 1 - reste, part, 0, reste)
            System.IO.File.WriteAllLines(namefile, part)
        Catch ex As Exception

        End Try
    End Sub
Sub Main()
        readfile()
        writefile()
    End Sub
End Module

Merci cs_ShayW 3

codes-sources a aidé 82 internautes ce mois-ci

Commenter la réponse de cs_ShayW
Jojo092 137 Messages postés samedi 24 septembre 2005Date d'inscription 12 avril 2013 Dernière intervention - 2 févr. 2011 à 11:47
0
Merci
Bonjour,

merci beaucoup pour m'avoir répondu, ta solution marche très bien. J'ai juste rajouter quelques lignes de code que j'avais besoin en plus, mais tout est nickel.

Merci encore.
Commenter la réponse de Jojo092
0
Merci
SVP C TRES URGENT
ya t il pas ce meme code en java?
svpppppppppp
Commenter la réponse de maxazria
Utilisateur anonyme - 28 mars 2013 à 21:21
0
Merci
Vraiment pas question de dire bonjour,



SVP C TRES URGENT


C'est très urgent que tu comprennes que de voir urgent dans un message est un urgent appel à ne pas répondre. Ici, urgent et bénévolat sont incompatibles. Voir le règlement pour les règles applicables à ce lieu. Et puis, il y a un lien vers la section JAVA de ce site dans la petite bande noire en haut de la page.
Commenter la réponse de Utilisateur anonyme

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.