Cursos / Informática para Internet / Desenvolvimento Desktop / Aula

arrow_back Aula 13 - Arquivos – Lendo, Escrevendo e Criando - Parte 1

Verificando a Existência de um Arquivo ou Diretório

Vimos que uma instância da classe Path representa um arquivo ou um diretório, mas será que esse arquivo existe no sistema de arquivos? Ele pode ser lido? Escrito? Executado?

Isso pode ser feito através dos métodos exists(Path, LinkOption...) e notExists(Path, LinkOption...). É importante perceber que !Files.exists(path) não é equivalente a Files.notExists(path). Quando se está testando a existência de um arquivo, três resultados são possíveis:

  • é verificada a existência do arquivo;
  • é verificada a não existência do arquivo;
  • o status do arquivo é não conhecido. Esse resultado pode ocorrer quando o programa não tem acesso ao arquivo.

Se ambos, exists e notExists, retornarem falso, a existência do arquivo não pode ser verificada.

Checando a Acessibilidade do Arquivo

Para verificar se um programa pode acessar um arquivo, pode-se usar os métodos isReadable(Path), isWritable(Path) e isExecutable(Path). O seguinte trecho de código verifica se um arquivo em particular existe e se o programa tem permissão para executá-lo.


Checando se Dois Paths Apontam para o Mesmo Arquivo

Quando se tem um sistema de arquivos que usa links simbólicos, é possível ter dois diferentes caminhos (paths) que representam o mesmo arquivo. O método isSameFile(Path, Path) compara se dois caminhos representam o mesmo arquivo, por exemplo:

Versão 5.3 - Todos os Direitos reservados