my code stock.com

Dragonblf

Bestimmte Zeile aus einer Textdatei auslesen
by Dragonblf

Diese Funktion liest eine bestimmte Zeile aus der angegebenen Datei und gibt diese als String zurück.
—————————————————————————————————————————————————————————————————————————————————————
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.

Snippet options

Download: Download snippet as bestimmte-zeile-aus-einer-textdatei-auslesen.vbs.
Copy snippet: For this you need a free my code stock.com account.
Embed code : You will find the embed code for this snippet at the end of the page, if you want to embed it into a website or a blog!

''' <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


'''5-te Zeile einer Datei lesen
txtLine.Text = ReadLine("C:\textdatei.txt", 5)
''' vorletzte Datei lesen
txtLine.Text = ReadLine("C:\textdatei.txt", -2)

Create a free my code stock.com account now.

my code stok.com is a free service, which allows you to save and manage code snippes of any kind and programming language. We provide many advantages for your daily work with code-snippets, also for your teamwork. Give it a try!

Find out more and register now

You can customize the height of iFrame-Codes as needed! You can find more infos in our API Reference for iframe Embeds.