2012-06-17 85 views
7

我需要檢查目錄是否爲空。問題是,如果包含子文件夾而不管子文件夾是否包含文件,我想將其視爲空目錄。我只關心我正在看的路徑中的文件。這個目錄將通過網絡訪問,這有點複雜。什麼是最好的方式去做這件事?檢查目錄是否有文件,但它可能包含子文件夾

回答

24

Directory.EnumerateFiles(string)方法超載只能返回指定目錄內包含的文件直接。它不返回其中包含的任何子目錄或文件。

bool isEmpty = !Directory.EnumerateFiles(path).Any(); 

EnumerateFiles超過GetFiles的優勢在於文件的集合枚舉點播,意味着查詢將盡快返回第一個文件成功(從而避免讀取文件的其餘部分在目錄)。

+0

這是完美的,正是我需要的!感謝道格拉斯。 – Tharkis

+0

有關信息; Directory.EnumerateFiles(字符串)是在.NET 4中添加的,因此在舊版本的.NET中不起作用。 – tomRedox

7

也許這:

if (Directory.GetFiles(path).Length == 0)...... ; 
相關問題