获取目录中的文件名

时间:2015-11-13 16:45:50

标签: vb.net

我有这段代码:

Try
        For Each file As String In My.Computer.FileSystem.GetFiles("directory")
            FormMain.listbox.Items.Add(file)
        Next
    Catch 
    End Try

它会给我目录中的文件列表(例如:C:\ DIR \ file.txt),但我只需要获取文件名(如:file.txt) - 不是带地址的名称。 提前谢谢!

3 个答案:

答案 0 :(得分:2)

我们可以将其作为一个有趣的单行方式:

Try
    FormMain.listbox.Items.AddRange(New IO.DirectoryInfo("directory").EnumerateFiles().Select(Function(f) f.Name).ToArray())
Catch 
End Try

另外,我希望它的运行速度大约是当前接受答案的两倍,因为它只需要为每个文件访问一次硬盘。每个文件的加入答案都会转到磁盘两次。也就是说,这不太可能推动您的计划的表现。

答案 1 :(得分:2)

For Each file As String In My.Computer.FileSystem.GetFiles("directory")
    ListBox1.Items.Add(IO.Path.GetFileName(file))
Next

答案 2 :(得分:1)

您必须使用FileInfo Class

Try
        For Each file As String In My.Computer.FileSystem.GetFiles("directory")
            Dim information = My.Computer.FileSystem.GetFileInfo(file )
            FormMain.listbox.Items.Add(information.Name)
        Next
Catch 
End Try