Files.WalkFileTree Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Sobrecargas
| Nome | Description |
|---|---|
| WalkFileTree(IPath, IFileVisitor) |
Anda em uma árvore de arquivos. |
| WalkFileTree(IPath, ICollection<FileVisitOption>, Int32, IFileVisitor) |
Anda em uma árvore de arquivos. |
WalkFileTree(IPath, IFileVisitor)
Anda em uma árvore de arquivos.
[Android.Runtime.Register("walkFileTree", "(Ljava/nio/file/Path;Ljava/nio/file/FileVisitor;)Ljava/nio/file/Path;", "", ApiSince=26)]
public static Java.Nio.FileNio.IPath? WalkFileTree(Java.Nio.FileNio.IPath? start, Java.Nio.FileNio.IFileVisitor? visitor);
[<Android.Runtime.Register("walkFileTree", "(Ljava/nio/file/Path;Ljava/nio/file/FileVisitor;)Ljava/nio/file/Path;", "", ApiSince=26)>]
static member WalkFileTree : Java.Nio.FileNio.IPath * Java.Nio.FileNio.IFileVisitor -> Java.Nio.FileNio.IPath
Parâmetros
- start
- IPath
o arquivo inicial
- visitor
- IFileVisitor
o visitante do arquivo a ser invocado para cada arquivo
Retornos
o arquivo inicial
- Atributos
Comentários
Anda em uma árvore de arquivos.
Esse método funciona como se a invocação fosse equivalente à avaliação da expressão: <blockquote>
walkFileTree(start, EnumSet.noneOf(FileVisitOption.class), Integer.MAX_VALUE, visitor)
</blockquote> Em outras palavras, ele não segue links simbólicos e visita todos os níveis da árvore de arquivos.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.
Aplica-se a
WalkFileTree(IPath, ICollection<FileVisitOption>, Int32, IFileVisitor)
Anda em uma árvore de arquivos.
[Android.Runtime.Register("walkFileTree", "(Ljava/nio/file/Path;Ljava/util/Set;ILjava/nio/file/FileVisitor;)Ljava/nio/file/Path;", "", ApiSince=26)]
public static Java.Nio.FileNio.IPath? WalkFileTree(Java.Nio.FileNio.IPath? start, System.Collections.Generic.ICollection<Java.Nio.FileNio.FileVisitOption>? options, int maxDepth, Java.Nio.FileNio.IFileVisitor? visitor);
[<Android.Runtime.Register("walkFileTree", "(Ljava/nio/file/Path;Ljava/util/Set;ILjava/nio/file/FileVisitor;)Ljava/nio/file/Path;", "", ApiSince=26)>]
static member WalkFileTree : Java.Nio.FileNio.IPath * System.Collections.Generic.ICollection<Java.Nio.FileNio.FileVisitOption> * int * Java.Nio.FileNio.IFileVisitor -> Java.Nio.FileNio.IPath
Parâmetros
- start
- IPath
o arquivo inicial
- options
- ICollection<FileVisitOption>
opções para configurar a passagem
- maxDepth
- Int32
o número máximo de níveis de diretório a serem visitados
- visitor
- IFileVisitor
o visitante do arquivo a ser invocado para cada arquivo
Retornos
o arquivo inicial
- Atributos
Comentários
Anda em uma árvore de arquivos.
Esse método orienta uma árvore de arquivos com raiz em um determinado arquivo inicial. A passagem da árvore de arquivos é <em>depth-first</em> com o determinado FileVisitor invocado para cada arquivo encontrado. A passagem da árvore de arquivos é concluída quando todos os arquivos acessíveis na árvore são visitados ou um método de visita retorna um resultado de FileVisitResult#TERMINATE TERMINATE. Quando um método de visita termina devido a uma IOExceptionexceção de tempo de execução ou um erro não chamado, a passagem é encerrada e o erro ou exceção é propagado para o chamador desse método.
Para cada arquivo encontrado, esse método tenta ler seu java.nio.file.attribute.BasicFileAttributes. Se o arquivo não for um diretório, o FileVisitor#visitFile visitFile método será invocado com os atributos de arquivo. Se os atributos de arquivo não puderem ser lidos, devido a uma exceção de E/S, o FileVisitor#visitFileFailed visitFileFailed método será invocado com a exceção de E/S.
Quando o arquivo é um diretório e o diretório não pôde ser aberto, o visitFileFailed método é invocado com a exceção de E/S, depois disso, a caminhada da árvore de arquivos continua, por padrão, no próximo <em>irmão</em> do diretório.
Onde o diretório é aberto com êxito, as entradas no diretório e seus <>descendentes</em> são visitadas. Quando todas as entradas foram visitadas ou ocorre um erro de E/S durante a iteração do diretório, o diretório é fechado e o método do FileVisitor#postVisitDirectory postVisitDirectory visitante é invocado. A caminhada da árvore de arquivos continua, por padrão, no próximo <irmão<>/em> do diretório.
Por padrão, os links simbólicos não são seguidos automaticamente por esse método. Se o options parâmetro contiver a opção FileVisitOption#FOLLOW_LINKS FOLLOW_LINKS , os links simbólicos serão seguidos. Quando os links a seguir e os atributos do destino não podem ser lidos, esse método tenta obter o BasicFileAttributes link. Se eles puderem ser lidos, o visitFile método será invocado com os atributos do link (caso contrário, o visitFileFailed método será invocado conforme especificado acima).
Se o options parâmetro contiver a opção FileVisitOption#FOLLOW_LINKS FOLLOW_LINKS , esse método manterá o controle dos diretórios visitados para que os ciclos possam ser detectados. Um ciclo surge quando há uma entrada em um diretório que é um ancestral do diretório. A detecção de ciclo é feita gravando os java.nio.file.attribute.BasicFileAttributes#fileKey file-key diretórios ou se as chaves de arquivo não estiverem disponíveis, invocando o #isSameFile isSameFile método para testar se um diretório é o mesmo arquivo que um ancestral. Quando um ciclo é detectado, ele é tratado como um erro de E/S e o FileVisitor#visitFileFailed visitFileFailed método é invocado com uma instância de FileSystemLoopException.
O maxDepth parâmetro é o número máximo de níveis de diretórios a serem visitados. Um valor que 0 significa que somente o arquivo inicial é visitado, a menos que seja negado pelo gerenciador de segurança. Um valor de Integer#MAX_VALUE MAX_VALUE pode ser usado para indicar que todos os níveis devem ser visitados. O visitFile método é invocado para todos os arquivos, incluindo diretórios, encontrados em maxDepth, a menos que os atributos de arquivo básicos não possam ser lidos, nesse caso, o visitFileFailed método é invocado.
Se um visitante retornar um resultado de null então NullPointerException , será gerado.
Quando um gerenciador de segurança é instalado e nega acesso a um arquivo (ou diretório), ele é ignorado e o visitante não é invocado para esse arquivo (ou diretório).
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.