Diretórios, Caminhos e FileSystemEntity
Navegue pelo sistema de arquivos e inspecione-o.
Diretórios, Caminhos e FileSystemEntity é uma aula grátis de Dart Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Dart Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Dart Academy inclui 4 aulas no total.
A classe Directory
Assim como File identifica um arquivo, a classe Directory identifica uma pasta. Você cria uma a partir de uma cadeia de caracteres de caminho, pronta para ser examinada ou criada.
final dir = Directory('logs');Crie uma pasta
Chame create para criar a pasta. Adicione recursive: true e o Dart criará de uma só vez todas as pastas pai ausentes.
await dir.create(recursive: true);Onde estou executando
Precisa da pasta em que o programa foi iniciado? Directory.current fornece o diretório de trabalho, a referência para caminhos relativos.
print(Directory.current.path);Liste o conteúdo da pasta
Use list para transmitir o conteúdo de uma pasta. Cada evento é uma entidade que você pode examinar individualmente.
await for (final e in dir.list()) print(e.path);Aprofunde-se com recursive
Passe recursive: true a list para percorrer também todas as subpastas, visitando toda a árvore abaixo do seu diretório.
dir.list(recursive: true);FileSystemEntity, a classe pai
Arquivos e diretórios estendem FileSystemEntity. Essa base compartilhada explica por que list pode fornecer qualquer um dos dois tipos em um único fluxo.
Que tipo é esse
Para diferenciar um arquivo de uma pasta, use FileSystemEntity.isDirectory ou verifique o tipo da entidade. Isso mantém seus laços seguros ao ramificar.
if (await FileSystemEntity.isDirectory(e.path)) {}Combine caminhos com segurança
Não concatene caminhos usando cadeias de caracteres simples. O pacote path combina as partes usando o separador correto para cada plataforma.
import 'package:path/path.dart' as p;Crie um caminho
Chame p.join com cada segmento para obter um caminho limpo e correto no Windows, no macOS ou no Linux.
final full = p.join('data', 'users', 'a.txt');Separe um caminho
Extraia as partes de um caminho com auxiliares como p.basename para o nome do arquivo e p.dirname para a pasta correspondente.
print(p.basename('/data/a.txt'));Obtenha a extensão
Precisa apenas do sufixo? p.extension o retorna com o ponto, permitindo filtrar arquivos por tipo com facilidade.
print(p.extension('photo.png'));Verificação rápida
Você precisa de um caminho multiplataforma a partir de vários segmentos. Qual é a maneira segura?
Recapitulação
Você pode criar pastas, listar seu conteúdo recursivamente, diferenciar arquivos de diretórios e criar caminhos com segurança usando o pacote path.
Perguntas Frequentes
A aula “Diretórios, Caminhos e FileSystemEntity” é grátis?
Sim — o texto completo de “Diretórios, Caminhos e FileSystemEntity” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Dart Academy, atualize para CoddyKit PRO. O curso de Dart Academy inclui 4 aulas no total.
O que vou aprender em “Diretórios, Caminhos e FileSystemEntity”?
Navegue pelo sistema de arquivos e inspecione-o. Você pratica Dart Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Dart Academy?
Nenhuma experiência prévia é necessária. Dart Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Diretórios, Caminhos e FileSystemEntity”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Dart Academy?
Sim. Cada aula de Dart Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Leitura e Gravação de Arquivos
- Diretórios, Caminhos e FileSystemEntity
- Transmissão de Arquivos Grandes
- Entrada Padrão, Saída Padrão e Argumentos do Processo