在 C# 中驗證目錄的寫入存取權的更穩健方法
直接檢查目錄寫入權限可能不可靠。 簡單地查詢權限並不能保證實際的寫入存取權限。 更可靠的方法是嘗試寫入操作。
這裡有一個改良的方法:
<code class="language-csharp">public bool IsDirectoryWritable(string dirPath, bool throwIfFails = false) { try { // Create a temporary file to test write access. It's automatically deleted. using (FileStream fs = File.Create(Path.Combine(dirPath, Path.GetRandomFileName()), 1, FileOptions.DeleteOnClose)) { } return true; } catch (Exception ex) { if (throwIfFails) throw; // Re-throw the exception for higher-level handling else return false; } }</code>
此函數嘗試在目標目錄中建立暫存檔案。 FileOptions.DeleteOnClose
確保檔案被自動刪除,不留下任何痕跡。 成功表示有寫入權限;失敗回傳 false
(如果 throwIfFails
為 true,則拋出異常)。 這直接測試寫入能力,避免了僅依賴權限檢查的陷阱。 簡潔易懂。
以上是如何在 C# 中可靠地測試對目錄的寫入存取?的詳細內容。更多資訊請關注PHP中文網其他相關文章!