Como: Determine se é um diretório somente leitura no Visual Basic
O método Método My.Computer.FileSystem.GetDirectories 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: |
---|
As opções disponíveis nas caixas de diálogo, e os nomes e localizações dos comandos de menu que você vê, podem diferir do que é descrito na ajuda, dependendo das suas configurações ativas ou edição.Esta página Ajuda foi escrita com Configurações Geral de desenvolvimento em mente.Para alterar as configurações, escolher Importar e exportar configurações on the Ferramentas menu.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 inválido para um dos seguintes motivos: Ele é uma cadeia 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 Attributes do diretório in Visual Basic