获取最后一个索引号VB.net

时间:2017-01-31 00:32:18

标签: vb.net winforms indexing inputstream outputstream

我是vb.net的初学者。如何获取vb.net中的最后一个索引号?

例如: 我有3个文本文件,它们有不同的文件名。

每次应用程序重新启动时,它都将继续使用最后一个索引号。

例如: Filename1 previoulsy,再次重新打开应用程序,然后它将继续filename2。

我的问题是,每次重新启动应用程序时,filename1始终打开,不会继续执行filename2。

我该怎么做?谢谢!

2 个答案:

答案 0 :(得分:1)

每次重新启动应用程序时,都会重新初始化变量。您可能正在为索引使用整数,并将其初始化为1.您需要将索引的状态存储到持久性内存(如文件或数据库),然后在应用程序关闭时或其他时间。然后,当您启动应用程序时,请读取文件或数据库以获取最后一个索引号。

答案 1 :(得分:1)

您可以通过递增上一个索引来读取上一个文件并创建下一个文件。

Dim newFileIndex as Integer = Directory.GetFiles().Select(
    Function(full)
        Dim nameParts() As String = full.Split("\", StringSplitOptions.RemoveEmptyEntries)
        Dim name As String = nameParts(nameParts.Length - 1) 
        name = name.Substring("filename".Length, name.LastIndexOf(".") - "filename".Length)
        ' At this point you have your file number.
        ' for example, if your file is "filename100.txt" the variable [name] now has 100 in it
        Return Convert.ToInt32(name)
    End Function).Max() + 1

   'Now you can create new filename
   filename = "filename" & newFileIndex.ToString() & ".txt"