IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Modifier un fichier texte volumineux


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 24
    Par défaut Modifier un fichier texte volumineux
    Bonjour,

    Je souhaite modifier un fichier txt de 6mo, mais j'ai un dépassement de capacité de ma variable string.
    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim SR As System.IO.StreamReader
    SR = New System.IO.StreamReader(CheminDuFichier, System.Text.Encoding.Default)
    Dim Texte As String = SR.ReadToEnd
    Merci d'avance pour vos conseils.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par JulieF Voir le message
    Je souhaite modifier un fichier txt de 6mo, mais j'a.
    Euh, il manquerait pas un bout de ta phrase ?

    6Mo c'est pas énorme, ça devrait pas poser de problème, sauf sur une machine très, très vieille...

  3. #3
    Invité
    Invité(e)
    Par défaut
    Tu as quoi comme erreur.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 24
    Par défaut
    Je fais un programme pour un Windows mobile 6.5, sous Compact Framework 3.5.

    Je souhaite modifier un fichier txt, et je commence par le lire.
    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim SR As System.IO.StreamReader
    SR = New System.IO.StreamReader(CheminDuFichier, System.Text.Encoding.Default)
    Dim Texte As String = SR.ReadToEnd
    Cela fonctionne bien avec un petit fichier, mais avec mon fichier de 6mo, j'ai une erreur de dépassement de capacité de ma variable string.

    J'ai essayé en utilisant un tableau. Ca fonctionne mais c'est long. Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
            Dim tabTmp() As String
            Dim SR As System.IO.StreamReader
            SR = New System.IO.StreamReader(CheminDuFichier, System.Text.Encoding.Default)
            Dim i As Integer = 0
            While Not SR.EndOfStream
                ReDim Preserve tabTmp(i)
                tabTmp(i) = SR.ReadLine()
                End If
                i = i + 1
            End While
            SR.Close()
    Est-il possible de ne modifier qu'une seule ligne sans charger tout le fichier ?

  5. #5
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    Bonjour,

    le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ReDim Preserve tabTmp(i)
    c'est un peu lourd a mon avis, alors dans une boucle....

    j'ai trouvé un code tout simple de tomlev
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim lignes() As String = File.ReadAllLines("leFichier.txt")
    Dim nLignes = lignes.Length ' Nombre de lignes
    voir ce post:

    http://www.developpez.net/forums/d667487/dotnet/developpement-windows/windows-forms/vb-net-compter-nb-ligne-fichier-txt/



    Est-il possible de ne modifier qu'une seule ligne sans charger tout le fichier ?
    non, mais avec ta boucle c'est bon.
    Le soucis c'est de savoir qu'elle ligne tu veux garder
    tu n'est pas obligé de toutes les enregistrées, tu garde que le numéro de la ligne qui t'interesse. ça t'évitera de faire un dépassement de capacité avec ReDim

    Aprés c'est pareil, on ne sais pas ce que tu veux faire avec ce traitement donc... dur de te dire plus.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 24
    Par défaut
    Je n'ai pas "ReadAllLines" en Compact Framework 3.5. J'ai "ReadToEnd".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim lignes() As String = SR.ReadToEnd
    Mais ca génère une erreur :
    Value of type 'String' cannot be converted to '1-dimensional array of String'.
    Citation Envoyé par hunteshiva Voir le message
    tu n'est pas obligé de toutes les enregistrées, tu garde que le numéro de la ligne qui t'interesse.
    Ca m'a l'air d'être une bonne idée. Je vais essayé ca.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Fichier Textes]Scruter fichier texte volumineux
    Par hawax dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 18/10/2006, 18h53
  2. [vb.net] Modifier un fichier texte
    Par olbi dans le forum Windows Forms
    Réponses: 2
    Dernier message: 06/10/2006, 15h31
  3. Réponses: 3
    Dernier message: 06/10/2006, 14h21
  4. comment utiliser Notepad pour modifier un fichier texte?
    Par moon13_698 dans le forum Autres Logiciels
    Réponses: 7
    Dernier message: 06/05/2006, 15h41
  5. Recherche dans un fichier texte volumineux.
    Par Actarus69 dans le forum VB 6 et antérieur
    Réponses: 17
    Dernier message: 27/07/2005, 17h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo