2013-03-05 31 views
5

Tôi cần một cách để kiểm tra xem một số MMF (tệp ánh xạ bộ nhớ) có tồn tại hay không trước khi truy cập nó, theo cách được quản lý.Làm cách nào để kiểm tra xem tệp bộ nhớ được ánh xạ có tồn tại không?

+4

Tại sao không phải là câu hỏi thực? –

+1

'File.Exists' sẽ không thực hiện thủ thuật? http://msdn.microsoft.com/en-us/library/system.io.file.exists.aspx –

+0

Để sử dụng từ Raymond Chen: "nếu bạn cần biết thì bạn đang làm sai". Bạn sẽ khám phá ra điều này khi bạn chắc chắn rằng chỉ có một quá trình có thể truy cập vào mmf cùng một lúc. Và bạn làm điều gì đó có ý nghĩa khi một trong các quy trình chấm dứt bất ngờ. –

Trả lời

6

Bạn có thể sử dụng: MemoryMappedFile.OpenExisting. Nó tăng FileNotFoundException trong trường hợp nếu tập tin được chỉ định không có mặt.

+1

Tôi có thể làm điều đó mà không có ngoại lệ? nó không phải là một thực hành tốt ở tất cả! –

+1

@MohamedSakherSawan: không có phương pháp nào, ít nhất là tôi biết, cho phép bạn làm những gì bạn muốn. Nhưng đây không phải là vấn đề gì cả, vì việc quản lý luồng chương trình với các ngoại lệ là * rất phổ biến *, nếu không thường xuyên * chỉ có thể * cách để quản lý truy cập IO trong chương trình. – Tigran

+1

Nhưng nó rất xấu cho hiệu suất! bạn có thể đúng cho IO. –

Các vấn đề liên quan