2012-06-17 42 views
7

Tôi cần kiểm tra xem thư mục có trống không. Vấn đề là, tôi muốn xem xét các thư mục trống nếu nó có chứa một thư mục phụ bất kể có hay không các thư mục phụ chứa các tập tin. Tôi chỉ quan tâm đến các tệp trong đường dẫn mà tôi đang xem. Thư mục này sẽ được truy cập trên mạng, loại phức tạp này một chút. Điều gì sẽ là cách tốt nhất để giải quyết vấn đề này?Kiểm tra xem thư mục không có tệp nào, nhưng thư mục này có thể chứa các thư mục con

Trả lời

24

Quá tải phương thức Directory.EnumerateFiles(string) chỉ trả về các tệp có chứa trực tiếp trong thư mục được chỉ định. Nó không trả về bất kỳ thư mục con hoặc tệp nào chứa trong đó.

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

Ưu điểm của EnumerateFiles qua GetFiles là bộ sưu tập các tập tin được liệt kê theo yêu cầu, có nghĩa là truy vấn sẽ thành công ngay sau khi tập đầu tiên được trả về (do đó tránh đọc phần còn lại của các tập tin trong danh mục).

+0

Đó là hoàn hảo, chính xác những gì tôi cần! Cảm ơn Douglas. – Tharkis

+0

Để biết thông tin; Directory.EnumerateFiles (chuỗi) đã được thêm vào trong .NET 4, do đó sẽ không hoạt động trong các phiên bản .NET cũ hơn. – tomRedox

7

Có lẽ đây:

if (Directory.GetFiles(path).Length == 0)...... ; 
Các vấn đề liên quan