Nachfolgend stellen wir Ihnen eine Funktion vor, mit der man eine beliebige Zeile aus einer Textdatei auslesen kann. Die Funktion ReadLine eignet sich allerdings nicht für sehr große Dateien, da zunächst der gesamte Dateiinhalt in ein String-Array eingelesen wird. Das Auslesen der Datei erfolgt in unserem Beispiel über die My.Computer.FileSystem-Klasse. Durch Aufruf der "ReadAllText"-Methode wird der gesamte Inhalt eingelesen. Die Split-Anweisung zerlegt den Inhalt dann in einzelne Zeilen und speichert diese in einem String-Array. Um nun auch die Möglichkeit zu bieten, nicht nur die n-te Zeile, sondern auch die n-letzte Zeile auslesen zu können, gibt man einfach für "line" eine negative Zahl an (-1 für die letzte Zeile, -2 für die vorletzte und so weiter). Im Falle eines Fehlers (wenn bsp. eine ungültige Zeilennummer angegeben wurde), wird immer ein Leerstring zurückgegeben. ''' <summary> ''' Liest eine bestimmte Zeile aus einer Textdatei ''' </summary> ''' <param name="filename">vollständiger Pfad zur Datei</param> ''' <param name="line">Zeilennummer</param> ''' <returns>Inhalt der Zeile oder bei Fehler einen Leerstring</returns> ''' <remarks>Geben Sie für line einen negativen Wert an, um die ''' n-letzte Zeile auszulesen</remarks> Public Function ReadLine(ByVal filename As String, _ ByVal line As Integer) As String Try Dim lines As String() = My.Computer.FileSystem.ReadAllText( _ filename, System.Text.Encoding.Default).Split(vbCrLf) If line > 0 Then ' n-te Zeile vom Anfang der Textdatei Return lines(line - 1) ElseIf line < 0 Then ' n-te Zeile beginnend am Ende der Textdatei Return lines(lines.length + line - 1) Else ' ungültige Zeilennummer Return "" End If Catch ex As Exception Return "" End Try End Function Beispiel für den Einsatz von "ReadLine": ' 5-te Zeile einer Datei lesen txtLine.Text = ReadLine("C:\textdatei.txt", 5) ' vorletzte Datei lesen txtLine.Text = ReadLine("C:\textdatei.txt", -2) Dieser Tipp wurde bereits 34.063 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevISDN 1.0 Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 sevZIP40 Pro DLL Zippen und Unzippen wie die Profis! Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |