- Код: Выделить всё
Dim Line As String
Dim Tab As Integer = 0
Dim ColumItem As String
While (r.Peek() > -1)
Line = r.ReadLine
While Line.Length > 0
Tab = InStr(Line, vbTab)
If Tab <> 0 Then
ColumItem = Microsoft.VisualBasic.Left(Line, Tab - 1)
Line = Mid(Line, Tab + 1)
Else
ColumItem = Line
Line = Mid(Line, Line.Length + 1)
End If
Console.Write(Line & " ")
End While
Console.Writeline()
End While
r.Close()
Его результат решил собирать\выводить в ListView, вот тут и сказалась особенность последнего, так как в шапки колонок добавляются одним оператором, первые ячейки строк другим, ну и остальные ячейки - третим. В результате
- Код: Выделить всё
Private Sub ReadTSV_(ByVal Path As String)
Dim r As IO.StreamReader
r = New IO.StreamReader(Path, System.Text.Encoding.Default)
Dim Line As String = r.ReadLine
Dim Tab As Integer = 0
Dim ColumItem As String = ""
While Line.Length > 0
Tab = InStr(Line, vbTab)
If Tab <> 0 Then
ColumItem = Microsoft.VisualBasic.Left(Line, Tab - 1)
Line = Mid(Line, Tab + 1)
Else
ColumItem = Line
Line = Mid(Line, Line.Length + 1)
End If
ListView1.Columns.Add(ColumItem)
End While
Dim item1 As ListViewItem
While (r.Peek() > -1)
Line = r.ReadLine
Tab = InStr(Line, vbTab)
If Tab <> 0 Then
ColumItem = Microsoft.VisualBasic.Left(Line, Tab - 1)
Line = Mid(Line, Tab + 1) 'отбрасываем добавленный элемент
Else
ColumItem = Line
Line = Mid(Line, Line.Length + 1) 'обнуляем длину строчки
End If
item1 = New ListViewItem(New String() {ColumItem})
Dim Columns As Integer = 1
If ListView1.Columns.Count < Columns Then
ListView1.Columns.Add(vbNullChar)
End If
While Line.Length > 0
Tab = InStr(Line, vbTab)
If Tab <> 0 Then
ColumItem = Microsoft.VisualBasic.Left(Line, Tab - 1)
Line = Mid(Line, Tab + 1) 'отбрасываем добавленный элемент
Else
ColumItem = Line
Line = Mid(Line, Line.Length + 1) 'обнуляем длину строчки
End If
item1.SubItems.Add(ColumItem)
Columns = Columns + 1
If ListView1.Columns.Count < Columns Then
ListView1.Columns.Add(vbNullChar)
End If
End While
ListView1.Items.AddRange(New ListViewItem() {item1})
End While
r.Close()
End Sub
Спасибо за внимание.