Có thể truy cập tệp trước khi tệp bị xóa khi sử dụng sự kiện FileSystemWatcher.OnDeleted
không?Truy cập tệp trước khi bị xóa
Tôi đang lưu trữ một số dữ liệu về chính tài liệu trong siêu dữ liệu của nó và tôi cần thông tin đó trước khi nó bị xóa.
Bất kỳ Ý tưởng nào về cách thực hiện việc này có hoặc không có FileSystemWatcher
nếu nó thậm chí có thể?
Cập nhật: //
tôi nhận ra rằng lưu trữ các dữ liệu trong file là xấu như tôi không thể truy cập vào nó khi tập tin bị xóa.
Giải pháp: viết lại ứng dụng của tôi để lưu trữ các dữ liệu trong một cơ sở dữ liệu địa phương (sqlite/xml hoặc một cái gì đó như thế) như tôi nhận được đường dẫn đầy đủ và tên khi tập tin đang được tạo/đổi tên/cập nhật/xóa nó sẽ dễ dàng hơn để cập nhật hồ sơ cơ sở dữ liệu cho tệp.
Cảm ơn tất cả vì những ý tưởng và đề xuất!
Tôi gần như muốn nói không, bạn không thể vì sự kiện kích hoạt khi tệp đã bị xóa. Tôi không tin rằng FSW có thể biết sự kiện này cho đến khi nó đã hoàn thành, vì điều đó có nghĩa là việc xóa trước thậm chí sẽ cần phải được kích hoạt và bị bắt, và sau đó cho phép bạn tạo khóa trên tệp. –
Tôi không nghĩ rằng có thể chỉ với 'FileSystemWatcher'. Tôi không chắc chắn nếu Windows cho phép một móc cấp thấp hơn (mặc dù tôi nghi ngờ nó.) – dlev
Bạn sẽ nhận được tên đầy đủ từ eventhandler. Sử dụng nó để khôi phục tập tin, làm cho nó vô hình, đọc nó, và xóa nó. hackish và không foolproof, nhưng vẫn còn một cái gì đó: http://stackoverflow.com/questions/2837307/recovering-deleted-file-on-windows – nawfal