Procedura: determinare se una directory è in sola lettura in Visual Basic

Il metodo GetDirectoryInfo restituisce un oggetto DirectoryInfo con una proprietà Attributes su cui possono essere eseguite delle query per ottenere informazioni sulla directory e determinare se è in sola lettura.

Nota

Nel computer in uso è possibile che vengano visualizzati nomi o percorsi diversi per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti. La versione di Visual Studio in uso e le impostazioni configurate determinano questi elementi. Per ulteriori informazioni vedere Impostazioni di Visual Studio.

Per determinare se una directory è in sola lettura

  1. Utilizzare il metodo GetDirectoryInfo per restituire un oggetto DirectoryInfo per la directory specificata. In questo esempio viene restituito un oggetto DirectoryInfo per la directory TestDirectory.

    Dim reader As System.IO.DirectoryInfo
    reader = My.Computer.FileSystem.GetDirectoryInfo("C:\testDirectory")
    
  2. Eseguire query sulla proprietà Attributes dell'oggetto per determinare se è in sola lettura.

    If (reader.Attributes And System.IO.FileAttributes.ReadOnly) > 0 Then
        MsgBox("Directory is readonly!")
    End If
    

Esempio

Nell'esempio riportato di seguito, che presenta il frammento di codice sopra esposto in forma completa, viene determinato se la directory testDirectory è in sola lettura e il risultato viene riportato in una finestra di messaggio.

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

Compilazione del codice

Se la directory non esiste, non viene generata alcuna eccezione fino a quando non si accede a una proprietà dell'oggetto DirectoryInfo.

Programmazione efficiente

Le seguenti condizioni possono generare un'eccezione:

  • Il percorso non è valido per uno dei seguenti motivi: è una stringa di lunghezza zero. contiene solo spazi vuoti. contiene caratteri non validi. o è il percorso di un dispositivo ,ovvero inizia con \ \. \) (ArgumentException).

  • Il percorso non è valido in quanto Nothing (ArgumentNullException).

  • La lunghezza del percorso supera la lunghezza massima definita dal sistema (PathTooLongException).

  • Il nome di un file o di una directory nel percorso contiene i due punti (:) o ha un formato non valido (NotSupportedException).

  • L'utente non dispone delle autorizzazioni necessarie per visualizzare il percorso (SecurityException).

Vedere anche

Attività

Procedura: determinare gli attributi di una directory in Visual Basic

Riferimenti

GetDirectoryInfo