通过整数在文本文件中查找一行

时间:2013-05-26 14:25:34

标签: vb.net

我正在尝试制作一些生成随机数的代码,然后检查文本文件中每行的数字,看看是否已生成。我有一些代码,将检查文本文件中生成的数字。有什么想法吗?

这是我到目前为止的代码:

    Dim Rlo As New IO.StreamReader("C:\Users\Somebody\Documents\Visual Studio 2012\Projects\RobloxRecruitV1\RobloxRecruitV1\bin\Debug\" & TheFileName.Text & ".txt")

    Dim firstLine As String
    'read first line
    firstLine = Rlo.ReadLine()
    'read secondline
    TheText.Text = Rlo.ReadLine()

    rndnumber = New Random
    number = rndnumber.Next(firstLine, TheText.Text)
    TextBox1.Text = number.ToString

1 个答案:

答案 0 :(得分:1)

我不能给你确切的代码(自从我在VB6中做了很多事以来已经很长时间了......)

,但....

我可以告诉你,使用流阅读器是错误的方法。

流阅读器正是它的名字所暗示的。一个恒定的数据流,它开始然后在它结束时停止。

现在虽然你可以在很小的程度上在流中来回寻找,但在这种情况下,这并不是你真正需要的。

您需要的是将文件的所有行加载到内存数组或某种哈希表中,然后您的任务就变成了查看给定索引是否存在的任务。

如果您别无选择,只能在磁盘上使用该文件(例如,由于大小限制),那么您需要的方法是:

1)打开文件 2)将您的位置设置为开头 3)进入循环读取顺序线 4)一旦你有一个与你想要的计数相对应的行关闭文件并结束 5)循环回转直到不再有线 6)关闭文件

打开和关闭,然后每次重置都很重要,这是为了让你知道你每次从文件中开始的位置,你理论上可以保持文件打开并重置位置,但这在我看来如果你有其他进程写入它可能是危险的esp。

如果您的文件不是很大,那么我会选择内存方式,加载文件,对内存行数组执行操作,然后在退出之前保存。