Читать файл построчно с VB.NET
следующий код используется для чтения файла строка за строкой.
Это просто очень ранняя версия, поэтому все, что я хочу сделать, это отобразить строку в окне immediate. Он работает нормально, за исключением того, что символы, такие как Ä Ü Ö è à и так далее, заменяются черным квадратом с вопросительным знаком. Согласно документации, считыватель файлов должен быть совместим с символами UTF-8, поэтому я не знаю, что не так.
...
Dim reader = File.OpenText(filetoimport.Text)
Dim line As String = Nothing
Dim lines As Integer = 0
While (reader.Peek() <> -1)
line = reader.ReadLine()
If line.StartsWith("<item key=""") Then
Dim Firstpart As String = Nothing
Firstpart = line.Substring(11, line.IndexOf(""" value=") - 11)
Debug.WriteLine(Firstpart)
lines = lines + 1
Label3.Text = lines
Application.DoEvents()
Else
Label3.Text = lines
Application.DoEvents()
End If
End While
...
файл закодирован ANSI, а не UTF-8, но читатель использует UTF-8.
2 ответов
такой... Я использовал его, чтобы читать китайские иероглифы...
Dim reader as StreamReader = My.Computer.FileSystem.OpenTextFileReader(filetoimport.Text)
Dim a as String
Do
a = reader.ReadLine
'
' Code here
'
Loop Until a Is Nothing
reader.Close()
заменил декларацию reader на эту, и теперь она работает!
Dim reader As New StreamReader(filetoimport.Text, Encoding.Default)
кодировка.По умолчанию представляет кодовую страницу ANSI, заданную в Панели управления Windows.