2012-02-07 42 views
8

Tôi muốn biết liệu có thể tìm ra khi một tệp được thêm vào thư mục trong C# hay không. Tôi biết bạn có thể thấy thời gian sáng tạo và nhiều thứ khác trong FileInfo, nhưng nok khi nó được thêm vào.Tìm hiểu xem tệp nào được thêm vào thư mục

+1

tôi không thực sự biết bất kỳ C#, nhưng nói chung tôi biết rằng thông tin đó không được lưu trữ trong hệ thống tập tin do đó, không nên có sẵn. Tùy chọn duy nhất tôi có thể nghĩ là chụp "ảnh chụp nhanh" của một thư mục, kiểm tra xem tệp nào có trong đó vào lúc đó. Sau đó, bạn quay lại và thực hiện một "ảnh chụp nhanh" khác và so sánh cả hai và xem liệu tệp của bạn đã được thêm vào trong thời gian đó hay chưa. Bạn sẽ phải quyết định khoảng thời gian phù hợp giữa các ảnh chụp nhanh. –

+2

Bạn có muốn tìm hiểu xem tệp đã được thêm vào thư mục một cách hồi tưởng hoặc được thông báo khi nó xảy ra (theo FileSystemWatcher) không? –

+0

Tôi nghĩ rằng tôi sẽ đi cho các "snapshot" giải pháp. Các FileSystemWatcher tôi không thực sự những gì tôi đang tìm kiếm. Cảm ơn bạn! – Mikkel

Trả lời

11

Bạn có thể sử dụng System.IO.FileSystemWatcher. Nó cung cấp phương pháp để thực hiện chính xác những gì bạn muốn làm:

FileSystemWatcher watcher = new FileSystemWatcher() 
{ 
    Path = stringWithYourPath, 
    Filter = "*.txt" 
}; 
watcher.Created += new FileSystemEventHandler(OnChanged); 
3

FileSystemWatcher là một thành phần rất mạnh mẽ, cho phép chúng ta kết nối với các thư mục và xem các thay đổi cụ thể trong họ, như tạo các tệp mới, thêm các thư mục con và đổi tên các tệp hoặc thư mục con. Điều này làm cho nó có thể dễ dàng phát hiện khi một số tập tin hoặc thư mục được tạo, sửa đổi hoặc xóa. Nó là một trong những thành viên của không gian tên System.IO.

Full Tutorial Here

Nó có các sự kiện và theyare

  • tạo - nâng bất cứ khi nào một thư mục hoặc tập tin được tạo ra.
  • Đã xóa - được nâng lên bất cứ khi nào một thư mục hoặc tệp bị xóa.
  • Đã đổi tên - được tăng lên bất cứ khi nào tên của thư mục hoặc tệp bị thay đổi.
  • Đã thay đổi - được nâng lên bất cứ khi nào thay đổi được thực hiện đối với kích thước, thuộc tính hệ thống, thời gian ghi cuối cùng, thời gian truy cập lần cuối hoặc quyền bảo mật NTFS của một thư mục hoặc tệp.
Các vấn đề liên quan