Lona:
Considerando que não é o "novo" córregos API em Java 8 posso usar Files.walk
para iterar sobre uma pasta. Como posso só obter as pastas filho de meu diretório dado se usar este método ou talvez profundidade = 2?
Eu tenho atualmente este exemplo de trabalho, o que, infelizmente, também imprime o caminho raiz de todos os "subpastas".
Files.walk(Paths.get("/path/to/stuff/"))
.forEach(f -> {
if (Files.isDirectory(f)) {
System.out.println(f.getName());
}
});
Por isso, revertido para a seguinte abordagem . Que armazena as pastas na memória e necessita de tratamento da lista armazenada depois, o que eu iria evitar e uso lambdas vez.
File[] directories = new File("/your/path/").listFiles(File::isDirectory);
Andreas:
A lista apenas sub-diretórios de um determinado diretório:
Path dir = Paths.get("/path/to/stuff/");
Files.walk(dir, 1)
.filter(p -> Files.isDirectory(p) && ! p.equals(dir))
.forEach(p -> System.out.println(p.getFileName()));