你好我的程序我需要一个包含2行的文本文件,每行的内容都要放入自己的变量中。文本文件被称为" account.txt"并在目录Documents下。我已经熟练地查看它是否存在的代码:
If File.Exists(System.IO.Path.Combine(My.Computer.FileSystem.SpecialDirectories.MyDocuments, "Account.txt")) Then
MsgBox("Account found and is being loaded!")
End If
我想在那个if语句中读取文件并读取每一行,并将内容放入自己的变量中。任何帮助是极大的赞赏!
答案 0 :(得分:0)
您可以使用String()
或List(Of String)
这样的集合,也可以使用File.ReadLines
或File.ReadAllLines
来阅读它们,并将索引0分配给变量1,将索引1分配给变量2:
Dim path = Path.Combine(My.Computer.FileSystem.SpecialDirectories.MyDocuments, "Account.txt")
If File.Exists(path) Then
Dim allLines = File.ReadAllLines(path)
Dim line1 As String = allLines(0) ' indices are zero based
Dim line2 As String = allLines(1)
End If
如果您不确定文件是否包含两行,也可以使用ElementAtOrDefault(1)
代替allLines(1)
。如果它包含较少的内容,则为Nothing
:
Dim line2 As String = allLines.ElementAtOrDefault(1) ' can be Nothing
答案 1 :(得分:0)
If File.Exists(System.IO.Path.Combine(My.Computer.FileSystem.SpecialDirectories.MyDocuments, "Account.txt")) Then
Dim accountReader As StreamReader = new StreamReader(My.Computer.FileSystem.SpecialDirectories.MyDocuments, "Account.txt")
Dim line1 As String = accountReader.ReadLine()
Dim line2 As String = accountReader.ReadLine()
reader.Close()
End If
这应该可以工作,没有测试过我通常在C#上工作所以我试图将它转换为VB.Net我通常更愿意将所有行读入数组并在分配给它之前我做了所有必要的检查但这应该得到你启动。
我之所以把它分开是因为你提到要将行内容放到不同的变量中。
希望这可以帮助你:)