VBNET读取文本文件中某一行的特定列

时间:2014-02-21 14:58:34

标签: vb.net record

我已保存已写入的文本文件,目前显示为:

“第一”, “姓”, “合格”

我想读取第三个密码列,并将其定义为变量。它基本上用于登录,如果传入文本文件与输入的传递匹配(来自用户)。

我现在已经搜索了大约一个小时但没有运气。有人可以引导我走上正确的道路。

感谢。

2 个答案:

答案 0 :(得分:1)

如果这是一个CSV文件,似乎是这种情况,那么最简单的方法是使用TextFieldParser类。 The MSDN already provides an excellent example关于如何使用它来读取CSV文件,所以我不打算在这里复制它。

答案 1 :(得分:1)

逐行阅读文件并将每个文件拆分为字段的简单示例:

    ' get the values from the user somehow:
    Dim first As String = "James"
    Dim surname As String = "Bond"
    Dim pass As String = "007"

    Dim validated As Boolean = False ' assume wrong until proven otherwise

    ' check the file:
    Dim fileName As String = "c:\some folder\path\somefile.txt"
    Dim lines As New List(Of String)(System.IO.File.ReadAllLines(fileName))
    For Each line As String In lines
        Dim values() As String = line.Split(",")
        If values.Length = 3 Then
            If values(0).Trim(Chr(34)) = first AndAlso
                values(1).Trim(Chr(34)) = surname AndAlso
                    values(2).Trim(Chr(34)) = pass Then
                validated = True
                Exit For
            End If
        End If
    Next

    ' check the result
    If validated Then
        MessageBox.Show("Login Successful!")
    Else
        MessageBox.Show("Login Failed!")
    End If