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

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

Obtendo Informações sobre um Path

Um objeto da classe Path também dispõe de métodos, de forma que você possa obter informações acerca do caminho especificado. Os diretórios, por exemplo, são armazenados em sequência. O mais alto diretório na estrutura é referenciado pelo índice 0 (zero), enquanto que o mais baixo elemento é referenciado pelo índice (n – 1), onde n é o número de elementos no caminho (Path). Os métodos fornecem tanto elementos individuais quanto subsequências do Path, utilizando esses índices.

Os exemplos desta aula usarão a estrutura de diretórios mostrada na Figura 1. O trecho de código a seguir define uma instância de Path e, então, invoca vários métodos para obter informação sobre o path.

A saída desta execução deve ser:

A seguir, um pequeno comentário sobre cada método:

  • toString – retorna a representação do Path em string.
  • getFileName – retorna o nome do arquivo ou o último elemento da sequência de elementos.
  • getName(0) – retorna o elemento do Path correspondente ao índice especificado. O primeiro elemento (índice zero) é o elemento mais perto da raiz.
  • getNameCount – retorna o número de elementos do Path.
  • subpath(0, 2) – retorna a subsequência do Path (não incluindo o elemento raiz) como especificado pelos índices inicial e final.
  • getParent – retorna o Path do diretório pai.
  • getRoot – retorna a raiz do Path.

Convertendo um Path

Existem três métodos à disposição para se converter um Path. Se é necessário converter um Path para uma string que o determinado arquivo possa ser aberto em um navegador, deve-se usar o método toUri. Por exemplo:

Cujo resultado da conversão é:

file:///home/logfile

O método toAbsolutePath converte um Path para seu correspondente caminho absoluto (a partir da raiz). Se o Path já for absoluto, ele retorna o mesmo objeto. Esse método é particularmente útil para tratar nomes de arquivos digitados por usuários. Por exemplo:

O método toAbsolutePath converte a entrada do usuário e retorna um Path que pode ser consultado, como o exemplo anterior, e retornar valores bastante úteis. O arquivo não precisa existir para que esse método funcione. O método toRealPath retorna o caminho real de um arquivo existente e o método executa várias operações em uma:

  • Se true é passado para esse método e o sistema de arquivos suporta links simbólicos, o próprio método os resolve e retorna o endereço real;
  • Se o caminho (Path) é relativo, ele retorna um caminho absoluto;
  • Se o caminho (Path) contém algum elemento redundante, ele os remove e retorna um Path limpo.

Esse método dispara uma exceção se o arquivo não existe ou não pode ser acessado. Pode-se capturar a exceção quando se deseja manipular esses casos. Por exemplo:

Versão 5.3 - Todos os Direitos reservados