HOW TO:在 Visual Basic 中判斷目錄是否為唯讀
更新:2007 年 11 月
My.Computer.FileSystem.GetDirectoryInfo 方法會傳回具有 Attributes 屬性的 DirectoryInfo 物件,您可查詢此物件以判斷目錄的相關資訊,包括目錄是否為唯讀。
注意事項: |
---|
根據您目前使用的設定或版本,您所看到的對話方塊選項,以及功能表命令的名稱和位置,可能會與 [說明] 中描述的不同。撰寫這個說明網頁時已將 [一般開發設定] 納入考慮。若要變更設定,請從 [工具] 功能表中選擇 [匯入和匯出設定]。如需詳細資訊,請參閱 Visual Studio 設定。 |
若要判斷目錄是否為唯讀
使用 GetDirectoryInfo 方法以傳回指定之目錄的 DirectoryInfo 物件。這個範例會傳回目錄 TestDirectory 的 DirectoryInfo 物件。
Dim reader As System.IO.DirectoryInfo reader = My.Computer.FileSystem.GetDirectoryInfo("C:\testDirectory")
查詢物件的 Attributes 屬性,判斷它是否為唯讀。
If (reader.Attributes And System.IO.FileAttributes.ReadOnly) > 0 Then MsgBox("Directory is readonly!") End If
範例
下列範例會以完整形式呈現上述程式碼片段,以判斷目錄 testDirectory 是否為唯讀,並且在訊息方塊中報告結果。
Dim reader As System.IO.DirectoryInfo
reader = My.Computer.FileSystem.GetDirectoryInfo("C:\testDirectory")
If (reader.Attributes And System.IO.FileAttributes.ReadOnly) > 0 Then
MsgBox("File is readonly!")
End If
編譯程式碼
如果目錄不存在,直到首次存取 DirectoryInfo 物件上的屬性,才會擲回例外狀況。
穩固程式設計
下列情形可能會造成例外狀況:
因下列其中一項原因而導致路徑無效:它是長度為零的字串、它只包含空白字元、它包含無效的字元,或者它是裝置路徑 (開頭為 \\.\) (ArgumentException)。
路徑無效,因為它是 Nothing (ArgumentNullException)。
路徑超過系統定義的最大長度 (PathTooLongException)。
路徑中的檔案或目錄名稱含有冒號 (:),或者是無效的格式 (NotSupportedException)。
使用者缺乏必要的使用權限來檢視路徑 (SecurityException)。