Como: Determinar se um diretório é somente leitura em Visual Basic
O método GetDirectoryInfo retorna um objeto DirectoryInfo com uma propriedade Attributes que pode ser consultada para determinar informações sobre o diretório, inclusive se ele é somente leitura.
Observação |
---|
Seu computador pode mostrar nomes ou locais diferentes para alguns dos elementos da interface do usuário do Visual Studio nas instruções a seguir. A edição do Visual Studio que você possui e as configurações que você usa determinam esses elementos. Para obter mais informações, consulte Configurações do Visual Studio. |
Para determinar se um Diretório é somente leitura
Use o método GetDirectoryInfo para retornar um objeto DirectoryInfo para o diretório especificado. Este exemplo retorna um objeto DirectoryInfo para o diretório TestDirectory.
Dim reader As System.IO.DirectoryInfo reader = My.Computer.FileSystem.GetDirectoryInfo("C:\testDirectory")
Consulte a propriedade Attributes do objeto para determinar se ele é somente leitura.
If (reader.Attributes And System.IO.FileAttributes.ReadOnly) > 0 Then MsgBox("Directory is readonly!") End If
Exemplo
O exemplo a seguir, que apresenta o trecho acima no formulário concluído, determina se o diretório testDirectory é somente leitura e relata o resultado em uma caixa de mensagem.
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
Compilando o código
Se o diretório não existe, uma exceção não é lançada até que uma propriedade no objeto DirectoryInfo seja acessada.
Programação robusta
As seguintes condições podem causar uma exceção:
O caminho não é válido para um dos seguintes motivos: ela é uma seqüência de comprimento zero; ele contém somente espaços em branco; ele contém caracteres inválidos; ou é um caminho de dispositivo (começa com \ \. \) (ArgumentException).
O caminho não é válido porque ele é Nothing (ArgumentNullException).
O caminho excede o comprimento máximo definido pelo sistema (PathTooLongException).
Um nome de arquivo ou de diretório no caminho contém dois-pontos (:) ou está em um formato inválido (NotSupportedException).
O usuário não possui permissões necessárias para exibir o caminho (SecurityException).
Consulte também
Tarefas
Como: Determinar os atributos do diretório Visual Basic