Cómo: Determinar si un directorio es de sólo lectura en Visual Basic
Actualización: noviembre 2007
El método My.Computer.FileSystem.GetDirectoryInfo (Método) devuelve un objeto DirectoryInfo con una propiedad Attributes que se puede consultar para determinar información sobre el directorio, incluso si es de sólo lectura.
Nota: |
---|
Las opciones disponibles en los cuadros de diálogo, y los nombres y las ubicaciones de los comandos de menú que se ven podrían diferir de lo que se describe en la Ayuda, en función de los valores de configuración o de edición activos. Esta página de Ayuda se ha redactado teniendo en cuenta la Configuración general de desarrollo. Para cambiar la configuración, elija la opción Importar y exportar configuraciones en el menú Herramientas. Para obtener más información, vea Valores de configuración de Visual Studio. |
Para determinar si un directorio es de sólo lectura
Utilice el método GetDirectoryInfo para devolver un objeto DirectoryInfo para el directorio especificado. Este ejemplo devuelve un objeto DirectoryInfo para el directorio TestDirectory.
Dim reader As System.IO.DirectoryInfo reader = My.Computer.FileSystem.GetDirectoryInfo("C:\testDirectory")
Consulte la propiedad Attributes del objeto para determinar si es de sólo lectura.
If (reader.Attributes And System.IO.FileAttributes.ReadOnly) > 0 Then MsgBox("Directory is readonly!") End If
Ejemplo
El ejemplo siguiente, que presenta el fragmento de código anterior en su forma completa, determina si el directorio testDirectory es de sólo lectura y presenta el resultado en un cuadro de mensaje.
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
Compilar el código
Si el directorio no existe, no se produce ninguna excepción hasta la primera vez que se tiene acceso a una propiedad del objeto DirectoryInfo.
Programación eficaz
Las condiciones siguientes pueden producir una excepción:
La ruta de acceso no es válida por una de las razones siguientes: es una cadena de longitud cero; sólo contiene un espacio en blanco; contiene caracteres no válidos; o es una ruta de acceso de dispositivo (empieza por \\.\) (ArgumentException).
La ruta de acceso no es válida porque es Nothing (ArgumentNullException).
La ruta supera la longitud máxima definida por el sistema (PathTooLongException).
Un nombre de archivo o de directorio de la ruta de acceso contiene un signo de dos puntos (:) o tiene un formato no válido (NotSupportedException).
El usuario no tiene los permisos necesarios para ver la ruta de acceso (SecurityException).
Vea también
Tareas
Cómo: Determinar los atributos de un directorio en Visual Basic