我需要检查目录是否为空。问题是,如果目录包含子文件夹,我想认为该目录为空,无论子文件夹是否包含文件。我只关心我正在查看的路径中的文件。该目录将通过网络访问,这使事情有点复杂。解决此问题的最佳方法是什么?
问问题
28601 次
2 回答
33
Directory.EnumerateFiles(string)
方法重载只返回直接包含在指定目录中的文件。它不返回其中包含的任何子目录或文件。
bool isEmpty = !Directory.EnumerateFiles(path).Any();
EnumerateFiles
over的好处GetFiles
是按需枚举文件的集合,这意味着只要返回第一个文件,查询就会成功(从而避免读取目录中的其余文件)。
于 2012-06-17T13:29:42.200 回答
9
也许是这样:
if (Directory.GetFiles(path).Length == 0)...... ;
于 2012-06-17T13:31:07.283 回答