I am not sure that I fully understand you goals, but assuming that that it is to parse a text file into strings of a fixed length, then something like this may work for you.
This code creates a memorystream containing text that is used to simulate reading from a text file.
Private ms As New IO.MemoryStream
Private strings As New List(Of String)
Sub test()
makedata() ' makes a file stream to simulate reading from a text file
MakeStrings() ' extract strings of a set length
For Each s As String In strings
Console.WriteLine(s)
Next
End Sub
Private Sub makedata()
Dim sw As New IO.StreamWriter(ms)
With sw
.Write("0123456789")
.Write("0123456789")
.Write("0123456789")
.Write("0123456789")
.WriteLine("0123")
.Write("456789")
.Write("0123456789")
.Write("0123456789")
.Write("0123456789")
.Write("0123456789")
.Write("0123456789")
.Write("01234567")
.WriteLine("89")
.Write("0123456789")
.Write("0123456789")
.Write("0123456789")
.Write("0123456789")
.Write("0123456789")
.Write("0123456789")
.Write("0123456789")
.WriteLine("01")
.Flush() ' force writing out to stream
End With
End Sub
Private Sub MakeStrings()
Const strlen As Int32 = 10 ' length ofstrings to create
ms.Position = 0
Dim sr As New IO.StreamReader(ms)
Dim sb As New System.Text.StringBuilder(strlen) ' temporary string storage
Dim lineposition As Int32
Do While sr.Peek <> -1
lineposition = 0
Dim line() As Char = sr.ReadLine.ToCharArray()
Do While lineposition < line.Length
If sb.Length < strlen Then
sb.Append(line(lineposition))
lineposition += 1
Else
strings.Add(sb.ToString())
Debug.WriteLine(sb.ToString)
sb.Length = 0
End If
Loop
Loop
If sb.Length > 0 Then strings.Add(sb.ToString) ' this will be a partial string
sr.Close()
End Sub