Comment : déterminer si un répertoire est en lecture seule dans Visual Basic
Mise à jour : novembre 2007
La méthode My.Computer.FileSystem.GetDirectoryInfo retourne un objet DirectoryInfo dont la propriété Attributes peut être interrogée pour obtenir des informations sur le répertoire, notamment s'il est en lecture seule ou non.
Remarque : |
---|
Les options disponibles dans les boîtes de dialogue, ainsi que les noms et emplacements des commandes de menu que vous voyez, peuvent différer de ce qui est décrit dans l'aide selon vos paramètres actifs ou votre édition. Cette page d'aide concerne les Paramètres de développement généraux. Pour modifier vos paramètres, choisissez Importation et exportation de paramètres dans le menu Outils. Pour plus d'informations, consultez Paramètres Visual Studio. |
Pour déterminer si un répertoire est en lecture seule
Utilisez la méthode GetDirectoryInfo pour retourner un objet DirectoryInfo pour le répertoire spécifié. Cet exemple retourne un objet DirectoryInfo pour le répertoire TestDirectory.
Dim reader As System.IO.DirectoryInfo reader = My.Computer.FileSystem.GetDirectoryInfo("C:\testDirectory")
Interrogez la propriété Attributes de l'objet pour déterminer s'il est en lecture seule.
If (reader.Attributes And System.IO.FileAttributes.ReadOnly) > 0 Then MsgBox("Directory is readonly!") End If
Exemple
L'exemple suivant qui présente l'extrait de code ci-dessus dans le formulaire complet détermine si le répertoire testDirectory est en lecture seule et indique le résultat dans un message.
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
Compilation du code
Si le répertoire n'existe pas, une exception n'est pas levée tant que vous n'accédez pas à une propriété de l'objet DirectoryInfo.
Programmation fiable
Les conditions ci-dessous peuvent générer une exception :
Le chemin d'accès n'est pas valide pour une des raisons suivantes : il s'agit d'une chaîne de longueur nulle ; il ne contient que des espaces blancs ; il contient des caractères non valides ou il s'agit d'un chemin d'accès de périphérique (qui commence par \\.\) (ArgumentException).
Le chemin d'accès n'est pas valide, car il a la valeur Nothing (ArgumentNullException).
Le chemin d'accès dépasse la longueur maximale définie par le système (PathTooLongException).
Un nom de fichier ou de répertoire du chemin d'accès contient un signe deux-points (:) ou n'a pas un format correct (NotSupportedException).
L'utilisateur n'a pas les autorisations nécessaires pour afficher le chemin d'accès (SecurityException).
Voir aussi
Tâches
Comment : déterminer les attributs d'un répertoire dans Visual Basic