繁体   English   中英

从目录vb.net过滤文件

[英]Filter files from directory vb.net

直截了当的问题......我有一些文件,例如带有扩展名的单词文档(.doc)以及以(.sample)开头的相应示例文件

现在我只想加载单词文件..

我发现如下所示的方式加载文件,但这会加载所有文件

任何人都可以说我如何在加载这些文件时过滤这些文件?

这就是我想要做的:

Dim files = Array.FindAll(Directory.GetFiles(mydir), Function(x) (Not x.StartsWith(".sample")))

这是我的目录包含如上所述的文件:

在此输入图像描述

您使用它的方式,检索所有文件(支付整个计算成本),然后过滤它们。

正如指出这个文章,你可以直接在文件检索从文件系统中使用的搜索模式。

我想你可以这样做:

Dim files = Directory.GetFiles(mydir,".doc*")

如果你举了一个文件名的例子,也许我会给你正确的过滤器来应用。

希望我帮忙!

GetFiles方法返回包含您指定的路径的文件名。

因此,如果您的文件位于文件夹C:\\working\\ ,您的mydir变量将包含"C:\\working\\"并且GetFiles的所有结果将类似于

"C:\working\.sample_filename.doc"
"C:\working\123797.doc"

所以你的x.StartsWith总是会返回false,因为x总是以C:\\开头

尝试这个:

Dim files = Array.FindAll(Directory.GetFiles(mydir), Function(x) (Not x.StartsWith(mydir & ".sample")))

请注意,这假设您的mydir变量以\\字符结尾。 如果没有,请将其添加到函数内的串联中。

尝试这个,

   Dim files = Array.FindAll(Directory.GetFiles(mydir), Function(x) (Not Path.GetFileName(x).StartsWith(".sample")))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM