Condividi tramite


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

Aggiornamento: novembre 2007

Il metodo Metodo My.Computer.FileSystem.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:

  Le opzioni disponibili nelle finestre di dialogo e i nomi e i percorsi dei comandi di menu visualizzati potrebbero variare rispetto a quanto descritto nella Guida in linea, in base alle impostazioni o all'edizione in uso. Questo argomento della Guida è stato creato tenendo in considerazione Impostazioni generali per lo sviluppo. Per modificare le impostazioni, scegliere Importa/Esporta impostazioni dal menu Strumenti. 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. Nell'esempio che segue 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 una periferica, vale a dire inizia con \\.\ (ArgumentException).

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

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

  • Un nome di file o di 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

Metodo My.Computer.FileSystem.GetDirectoryInfo