Supprimer lignes vides fichier texte

Soyez le premier à donner votre avis sur cette source.

Vue 18 240 fois - Téléchargée 561 fois

Description

Ce script supprime les lignes vides dans un fichier texte, vous pouvez parcourir les répertoires de votre oridnateur au lieu de saisir le nom et le chemin du fichier...

Source / Exemple :


Imports System
Imports System.IO
Public Class Form1

    Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lbl_title.Click

    End Sub

    Private Sub bt_browse_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_browse.Click
        ParcoursRep.ShowDialog()
        inputFichier.Text = ParcoursRep.FileName

    End Sub

    Private Sub ParcoursRep_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles ParcoursRep.FileOk

    End Sub

    Private Sub bt_go_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_go.Click
        If inputFichier.Text = "" Then
            MsgBox("Veuillez choisir un fichier !")
        Else
            Dim nomFichier As String
            Dim nvoFichier As String
            Dim lng As Integer
            Dim count As Integer
            count = 0
            nomFichier = inputFichier.Text
            lng = nomFichier.Length
            nvoFichier = nomFichier.Substring(0, lng - 4)
            nvoFichier = nvoFichier & "_2.txt"

            Using sw As StreamWriter = File.CreateText(nvoFichier)

                Try
                    Using sr As StreamReader = New StreamReader(inputFichier.Text)
                        Dim line As String
                        ' Read and display the lines from the file until the end 
                        ' of the file is reached.
                        Do
                            line = sr.ReadLine()
                            If line <> "" Then
                                sw.WriteLine(line)
                                count += 1
                            End If
                        Loop Until line Is Nothing
                        sr.Close()
                    End Using
                Catch ex1 As Exception
                    ' Let the user know what went wrong.
                    MsgBox("Le fichier ne peut pas être lu :" & ex1.Message)
                End Try
                sw.Close()
                lblResult.Text = "Taritement terminé : " & count & " lignes écrites."
            End Using
        End If
    End Sub
End Class

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
4
Date d'inscription
mardi 11 février 2003
Statut
Membre
Dernière intervention
16 octobre 2007

je vous propose alors que vous l'amélioriez et que vous soumettiez des versions, histoire de faire profiter aux gens de votre expertise.
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
62
readToEnd... pourquoi pas, mais ne conviens pas aux gros fichiers
Messages postés
592
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
4 décembre 2008

Salut, tu devrais effacer les lignes qui contienne seulement des espaces ou des tabulation (ce qui arrive quand on indente un code php ou vb par exemple) en utilisant la commande trim ou enlever les espaces au debut des lignes avec Ltrim, ça ajouterais une utilitée de plus a ton code!

Bonne prog a tous
Messages postés
4
Date d'inscription
mardi 11 février 2003
Statut
Membre
Dernière intervention
16 octobre 2007

je suis néophyte en .net et avant de faire ce script j'essayais d'enlever les lignes vides à travers des applis comme notepad++ et autres, vu que les regex ne reconnaissaient pas le \n \r j'ai fait le truc rapidement avec les streamreader, mais je vais essayer ta soluce.
Messages postés
278
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
22 décembre 2008

Ou même, si tu n'aimes pas les regExp, faire un Split(vbCrLf, splitOptions.IgnoreEmptyEntries).Join("") ?
Afficher les 6 commentaires

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.