Yo leo los datos de archivos de texto de la siguiente manera:
Cita: Using sr As StreamReader = New StreamReader(sRuta & sArchivo)
Dim linea As String = ""
' Leo las línes
Do
linea = sr.ReadLine()
Lineas.Add(linea)
Loop Until linea Is Nothing
'quito el ultimo que me cogió una que no existe.
Lineas.RemoveAt(Lineas.Count - 1)
sr.Close() ' Cerramos el stream.
End Using
Donde Lineas es un List(of string)
Una vez que tengo cargvado el texto puedo estar leyendo su contenido linea por linea.
Con este procedimiento no tengo que especificar el tipo de codificación del texto.
A no ser que requieras alguna codificación especial para leer.
Saludos, Suerte