Directorios, rutas y FileSystemEntity
Navegue por el sistema de archivos e inspecciónelo
Directorios, rutas y FileSystemEntity es una lección gratuita de Dart Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Dart Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Dart Academy incluye 4 lecciones en total.
La clase Directory
Al igual que File identifica un archivo, la clase Directory identifica una carpeta. Se crea a partir de una cadena de ruta, lista para inspeccionarla o crearla.
final dir = Directory('logs');Crear una carpeta
Llame a create para crear la carpeta. Añada recursive: true y Dart creará de una vez todas las carpetas superiores que falten.
await dir.create(recursive: true);Dónde se está ejecutando
¿Necesita la carpeta desde la que se inició el programa? Directory.current devuelve el directorio de trabajo, que sirve de base para las rutas relativas.
print(Directory.current.path);Listar el contenido de una carpeta
Use list para recorrer mediante un stream el contenido de una carpeta. Cada evento es una entidad que puede examinar individualmente.
await for (final e in dir.list()) print(e.path);Profundizar con recursive
Pase recursive: true a list para recorrer también todas las subcarpetas y visitar el árbol completo bajo su directorio.
dir.list(recursive: true);FileSystemEntity, la clase principal
Tanto los archivos como los directorios extienden FileSystemEntity. Esta clase base común permite que list le entregue cualquiera de los dos tipos en un mismo stream.
¿De qué tipo es?
Para distinguir un archivo de una carpeta, use FileSystemEntity.isDirectory o compruebe el tipo de la entidad. Así, las ramas de sus bucles serán seguras.
if (await FileSystemEntity.isDirectory(e.path)) {}Unir rutas de forma segura
No concatene rutas con cadenas simples. El paquete path une las partes usando el separador adecuado para cada plataforma.
import 'package:path/path.dart' as p;Construir una ruta
Llame a p.join con cada segmento para obtener una ruta limpia y correcta en Windows, macOS o Linux.
final full = p.join('data', 'users', 'a.txt');Separar una ruta
Extraiga las partes de una ruta con ayudantes como p.basename para el nombre del archivo y p.dirname para su carpeta.
print(p.basename('/data/a.txt'));Obtener la extensión
¿Necesita solo el sufijo? p.extension lo devuelve con el punto, para que pueda filtrar archivos por tipo fácilmente.
print(p.extension('photo.png'));Comprobación rápida
Necesita una ruta multiplataforma formada por varios segmentos. ¿Cuál es la forma segura de construirla?
Resumen
Puede crear carpetas, listar su contenido de forma recursiva, distinguir archivos de directorios y construir rutas de forma segura con el paquete path.
Preguntas frecuentes
¿La lección «Directorios, rutas y FileSystemEntity» es gratis?
Sí — el texto completo de «Directorios, rutas y FileSystemEntity» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Dart Academy, actualiza a CoddyKit PRO. El curso de Dart Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Directorios, rutas y FileSystemEntity»?
Navegue por el sistema de archivos e inspecciónelo Practicas Dart Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Dart Academy?
No se requiere experiencia previa. Dart Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Directorios, rutas y FileSystemEntity»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Dart Academy?
Sí. Cada lección de Dart Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Lectura y escritura de archivos
- Directorios, rutas y FileSystemEntity
- Transmisión de archivos grandes
- Stdin, Stdout y argumentos de procesos