Rubrik: Dateisystem · Dateien lesen/schreiben | VB-Versionen: VB2005, VB2008 | 11.08.09 |
Bestimmte Zeile aus einer Textdatei löschen Mit dieser Funktion lässt sich eine bestimmte Zeile anhand der Zeilennummer aus einer Textdatei löschen. | ||
Autor: Dieter Otter | Bewertung: | Views: 89.806 |
www.tools4vb.de | System: Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Heute stellen wir Ihnen eine Funktion vor, mit der sich eine bestimmte Zeile aus einer Textdatei löschen lässt.
Die Funktion erwartet hierbei den Dateinamen, sowie die Zeilennummer als Parameter.
''' <summary> ''' Löscht die angegebene Zeile aus der Datei ''' </summary> ''' <param name="filename">Dateiname</param> ''' <param name="line">Zeilennummer der Zeile, die gelöscht werden soll.</param> ''' <remarks></remarks> Public Sub DelLineFromFile(ByVal filename As String, ByVal line As Integer) Try ' Datei in String-Attayeinlesen Dim lines As String() = My.Computer.FileSystem.ReadAllText( _ filename, System.Text.Encoding.Default).Split(vbCr) ' angegebenes Element (Zeile) aus der Liste entfernen If line > 0 AndAlso line <= lines.Length Then Dim oStream As IO.StreamWriter = Nothing Try ' Stream-Objekt zum Speichern erstellen oStream = New IO.StreamWriter(filename, False, System.Text.Encoding.Default) ' alle Elemente der Liste zeilenweise speichern Dim bNext As Boolean = False For i As Integer = 0 To lines.Length - 1 If i + 1 <> line Then If bNext Then oStream.Write(vbCr) oStream.Write(lines(i)) bNext = True End If Next Catch ex As Exception Finally ' Stream-Objekt schließen If Not IsNothing(oStream) Then oStream.Close() End Try End If Catch ex As Exception End Try End Sub
Aufrufbeispiel:
' 3. Zeile aus der Datei löschen DelLineFromFile "MyFile.txt", 3