如何使控制台应用程序从文本文件中读取不同的行?

问题描述:

所以我只是玩VB控制台应用程序,想知道如何阅读单个文本文件,但阅读单独的行。在我的例子中,我正在玩弄一个包含假数据的凭证存储,如用户名和密码的形式。我并不担心加密任何东西,但正如我的问题所述,如何让应用程序读取第1行的用户名作为网站a,第2行作为网站的密码等。对不起,如果我不太清楚,我如果需要可以进一步阐述。如何使控制台应用程序从文本文件中读取不同的行?

+1

你尝试过什么吗?你已经写了哪些代码不起作用?你有没有对VB.NET中的文件IO操作进行一些研究? – Steve 2013-03-20 20:14:06

+0

@Steve我已经使用My.Computer.FileSystem.ReadAllText(“C:\ pass.txt”),这就是我真正了解的读取文件。我试着对它进行一些研究,但似乎没有什么能真正满足我需要的。我能想到的唯一的其他选择是使用单独的文本文件。 – cbrackley9 2013-03-20 20:17:58

+0

这将是一个糟糕的设计。改为考虑一个XML或INI文件。如果你这样做,有标准的阅读和写作方式。关于纯文本阅读,请尝试[ReadAllLines](http://msdn.microsoft.com/en-us/library/system.io.file.readalllines.aspx)。 – Neolisk 2013-03-20 20:19:11

那么假设你的文本文件被重复,其中奇数者是用户名线条组成和偶数的有密码,然后

Dim lines() as String = File.ReadAllLines("FileName.txt") 

if (lines.Length MOD 2) <> 0 Then 
    Console.WriteLine("Lines not even") 
Else 

    For i = 0 to lines.Length - 1 Step 2 
     Console.WriteLine("User={0} with password={1}", lines(i), lines(i+1)) 
    Next 
End If 

这只有行中的文件的数量是完全甚至

+0

完美运作。感谢帮助的人,非常感谢^。^ – cbrackley9 2013-03-20 20:30:21

如果文件中包含交替的用户名和密码的线路,那么这应该这样做:

当然
Using file As FileStream = New FileStream(path, ...other constructor options...) 
    Using reader As StreamReader = New StreamReader(file) 
    While Not reader.EndOfStream 
     username = reader.ReadLine 
     password = reader.ReadLine 
    End While 
    End Using 
End Using 

中一切都必须完美地排队这个工作 - 并且没有事情是完美的。