VB.Net:从文本文件中读取文件列表并检查文件是否存在

时间:2015-02-18 16:28:05

标签: vb.net for-loop text foreach

我想在VB.Net中创建一个实用程序,它有一个基本的GUI表单,允许用户检查是否存在一系列文件。

GUI很好,我没有问题,但我需要的是帮助获取实用程序来读取文本文件(没有固定的位置,就在运行exe的地方旁边)然后每个行检查文件是否存在于预定路径中。

Dim path, file, nextLine  as String
path = "C:\ProgramName\Folder\
file = path & 'nextLine of text file

文本文件很简单,就像下面一样。

setup.exe
file.ext
file2.ext
etc...

我可以让它检查文件是否正常,一旦文件在变量中但我不知道如何让它通过每个检查它是否存在。我认为FOR FOR EACH或LOOP但不确定,文本文件的位置相同(理想情况下我希望它在exe旁边,但exe没有固定的路径,可以依赖于loctaion移动。是任何能够提供帮助的人。

编辑txt文件看起来像......

filename1.ext
filename2.ext
filename3.ext

所以我会使用文件夹浏览器在文本框中手动设置它所看到的路径,例如" C:\ TEMP \ Filelist.txt中"然后手动在另一个目录中设置serach以查看它是否存在,例如C:\ Temp \ Files \并将它们存储在变量中,然后为文本文件中的每一行查看它是否存在于路径中。

2 个答案:

答案 0 :(得分:0)

如果您要查找的文件位于同一路径中,这应该有效;

    Dim fileList As String
    Dim fileName As String
    fileList = My.Computer.FileSystem.ReadAllText("c:\temp\fileList.txt")
    For X = 0 To fileList.Split(vbCrLf).Count - 1
        fileName = fileList.Split(vbCrLf).ElementAt(X).ToString.Replace(vbCr, "").Replace(vbLf, "")
        If My.Computer.FileSystem.FileExists("c:\temp\" & fileName) Then
            ListBox1.Items.Add(fileName) 'add items to this list if they exist
        Else
            ListBox2.Items.Add(fileName) 'add items to this list if they do not exist
        End If

    Next

答案 1 :(得分:0)

您可以使用以下单行检查文件是否存在。

My.Computer.FileSystem.FileExists(file_path_to_check)