Bonjour à tous,
Voilà mon souci.
J'ai fais un code qui à pour but de traiter un fichier texte ligne par ligne.
Il copie chaque ligne lue dans un nouveau fichier texte si elle ne commence pas pas "xxxx" (valeur saisie).
Le but étant vous l'aurait compris de supprimer des lignes précises dans un fichier normé (EDI).
J'utilise pour cela un StreamReader pour lire le fichier ligne par ligne, puis un StreamWriter pour écrire le nouveau fichier, et à la fin du traitement, je "Flush" pour avoir le fichier final.
Tout ca ok, j'y arrive bien. Mais le problème est que plus le fichier est important, et plus le soft tourne longtemps.
Sur un fichier d'une centaine de ligne, il faut quelques secondes pour avoir le résultat. Sur un fichier de 50000 lignes, là, je passe à plusieurs heures de traitements !!!
J'ai mis un compteurs de lignes traités pour voir le déroulement, je passe de plusieurs lignes secondes à plusieurs secondes par lignes !!!!
Est-ce du au StreamReader et StreamWriter ??
Dois-je utiliser d'autres classes ou méthode d'accès aux données ???
Je trouve cela vraiment trop long pour un traitement aussi "simple" !
Merci d'avance si quelqu'un à déjà rencontré ce problème et m'aiguiller pour une autres méthode de traitement, ou d'optimisation...
Partager