Heres a function that I wrote a while back that will allow you to read text from a file with parameters for maxLines / startLine. Hope this helps.
Code:Public Function ReadFile(ByVal Path As String, _ Optional ByVal MaxLines As Integer = 0, _ Optional ByVal StartLine As Integer = 0) As String Try If Not System.IO.File.Exists(Path) Then Return String.Empty ' Make sure the file exists ' Create our counter (how many lines have been read) and currentline (self explanitory) variables Dim Count As Integer = 0 : Dim CurrentLine As Integer = 0 Dim sb As New System.Text.StringBuilder ' Create a new stringbuilder Dim sr As New System.IO.StreamReader(New System.IO.FileStream(Path, System.IO.FileMode.Open, System.IO.FileAccess.Read)) ' Read file into stream While Not sr.EndOfStream ' Loop while we aren't at the end of the stream ' If maxlines is not unlimited (0) and number of lines exceeds the maxlines exit the loop If Not MaxLines = 0 AndAlso Count >= MaxLines Then Exit While Dim Line As String = sr.ReadLine ' Read current line of stream If Not String.IsNullOrEmpty(Line) Then ' Make sure that the line is not an empty string If Not StartLine = 0 Then ' Check if we need to monitor for the line to start reading at If CurrentLine >= StartLine Then ' The current line is equal to or greater than the startline sb.AppendLine(Line) ' Add line to string builder Count += 1 ' Update added lines counter End If Else sb.AppendLine(Line) ' Add line to string builder Count += 1 ' Update added lines counter End If End If CurrentLine += 1 ' Update current line counter End While sr.Close() ' Close stream reader ' Trim the contents of the string builder (so there is no blank trailing line) and return Return sb.ToString.Trim Catch ex As Exception Debug.Print(ex.ToString) ' Debug the exception so we can see what went wrong Return String.Empty ' Return empty string due to exception End Try End Function




Reply With Quote
