我有这段代码:
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) - 不是带地址的名称。 提前谢谢!
答案 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