0Pricing
Dart Academy · Lekcja

Katalogi, ścieżki i FileSystemEntity

Poruszanie się po systemie plików i jego inspekcja

Katalogi, ścieżki i FileSystemEntity to bezpłatna lekcja Dart Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Dart Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Dart Academy zawiera 4 lekcji w sumie.

Klasa Directory

Tak jak File wskazuje plik, klasa Directory wskazuje folder. Tworzy się ją na podstawie tekstu ścieżki, aby następnie sprawdzać folder lub go utworzyć.

final dir = Directory('logs');

Tworzenie folderu

Wywołaj create, aby utworzyć folder. Dodaj recursive: true, a Dart za jednym razem utworzy wszystkie brakujące foldery nadrzędne.

await dir.create(recursive: true);

Gdzie działa program

Potrzebują Państwo folderu, w którym uruchomiono program? Directory.current zwraca bieżący katalog roboczy, stanowiący punkt odniesienia dla ścieżek względnych.

print(Directory.current.path);

Wyświetlanie zawartości folderu

Użyj list, aby strumieniowo odczytać zawartość folderu. Każde zdarzenie reprezentuje element, który można sprawdzać pojedynczo.

await for (final e in dir.list()) print(e.path);

Zejdź głębiej za pomocą recursive

Przekaż recursive: true do list, aby przejść także przez wszystkie podfoldery i odwiedzić całe drzewo znajdujące się w danym katalogu.

dir.list(recursive: true);

FileSystemEntity — klasa nadrzędna

Pliki i katalogi rozszerzają FileSystemEntity. Dzięki tej wspólnej klasie nadrzędnej list może zwracać oba rodzaje elementów w jednym strumieniu.

Jaki to rodzaj elementu

Aby odróżnić plik od folderu, użyj FileSystemEntity.isDirectory lub sprawdź typ elementu. Dzięki temu rozgałęzienia w pętlach pozostają bezpieczne.

if (await FileSystemEntity.isDirectory(e.path)) {}

Bezpieczne łączenie ścieżek

Nie łącz ścieżek za pomocą zwykłych tekstów. Pakiet path łączy fragmenty, używając właściwego separatora dla każdej platformy.

import 'package:path/path.dart' as p;

Budowanie ścieżki

Wywołaj p.join z każdym fragmentem, aby otrzymać poprawną ścieżkę działającą tak samo w systemach Windows, macOS i Linux.

final full = p.join('data', 'users', 'a.txt');

Rozdzielanie ścieżki na części

Podziel ścieżkę na fragmenty za pomocą pomocników, takich jak p.basename dla nazwy pliku i p.dirname dla jego folderu.

print(p.basename('/data/a.txt'));

Pobieranie rozszerzenia

Potrzebują Państwo tylko końcówki nazwy? p.extension zwraca ją razem z kropką, dzięki czemu można łatwo filtrować pliki według typu.

print(p.extension('photo.png'));

Szybkie sprawdzenie

Potrzebują Państwo wieloplatformowej ścieżki złożonej z kilku fragmentów. Jaki jest bezpieczny sposób?

Podsumowanie

Potrafią już Państwo tworzyć foldery, rekurencyjnie wyświetlać ich zawartość, odróżniać pliki od katalogów oraz bezpiecznie budować ścieżki za pomocą pakietu path.

Często zadawane pytania

Czy lekcja „Katalogi, ścieżki i FileSystemEntity” jest bezpłatna?

Tak — pełny tekst „Katalogi, ścieżki i FileSystemEntity” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Dart Academy, przejdź na CoddyKit PRO. Kurs Dart Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Katalogi, ścieżki i FileSystemEntity”?

Poruszanie się po systemie plików i jego inspekcja Ćwiczysz Dart Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Dart Academy?

Nie wymagamy żadnego doświadczenia. Dart Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „Katalogi, ścieżki i FileSystemEntity”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Dart Academy?

Tak. Każda lekcja Dart Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Odczyt i zapis plików
  2. Katalogi, ścieżki i FileSystemEntity
  3. Strumieniowe przetwarzanie dużych plików
  4. Stdin, Stdout i argumenty procesu
← Powrót do Dart Academy