【问题标题】:VB How do i recall a line of text from a text file, based on user selection?VB 如何根据用户选择从文本文件中调用一行文本?
【发布时间】:2016-03-02 15:02:20
【问题描述】:

这就是我目前所拥有的......

    Dim Test As String = "C:\test.txt"
    Dim User As String


    Console.WriteLine("What user password would you like?")
    User = Console.ReadLine().ToLower
    Dim objReader As New System.IO.StreamReader(Test)

    While Not objReader.EndOfStream

        If User.Contains("Admin1") Then


            Console.WriteLine(objReader.ReadLine())

        End If
    End While

    objReader.Close()

我不确定是否需要在“ (objReader.ReadLine() ”的括号中添加一些内容,如果有人可以提供帮助,那就太好了,谢谢。

【问题讨论】:

  • 如果您在 test.txt 文件中添加了几行,它可能会有所帮助。从我所见,您正在将用户输入与常量“Admin1”进行比较。因此,除非用户输入 Admin1,否则您将陷入无限循环。您可能想要做的是 a) 读取一行并将其存储在局部变量中,然后 b) 将局部变量的值与用户变量的值进行比较。
  • admin1; "您的密码是 Password1" admin2; “你的密码是 Password2” 这就是我想要的。我试图使用分号,因为我认为它是用来分隔字符串的......

标签: vb.net file text streamreader


【解决方案1】:

这就是你想要的......

Using sr As New StreamReader("C:\test.txt")
    Dim Line As String = sr.ReadLine()
    While Line IsNot Nothing
        If Line.Contains("Admin1") Then
            Console.WriteLine(Line)
        End If
        Line = sr.ReadLine()
    End While
End Using

“Using”块确保 StreamReader 对象自动关闭和释放,您无需担心。

【讨论】:

  • 谢谢!如果我想通过仅识别“Admin1”来改进这一点如果用户说“我想要 Admin1 的密码”?感谢您的帮助!
  • 如果不知道输入文件的格式,我将无法回答这个问题。
  • admin1;密码 1 管理员 2;密码2等等..再次感谢您的帮助!
  • 你可以使用 String.Split() 方法在分号处分割行,然后你会得到一个数组,其中元素 0 是用户名,元素 1 是密码。
  • 如果您有时间,如果您将我的答案标记为“已接受”,我将不胜感激。 :)
猜你喜欢
  • 1970-01-01
  • 2020-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多