Dart Filesystem

Der Umgang mit dem Filesystem unter Verwendung der Programmiersprache Dart kann zu Beginn verwirrend sein. Dart ist strikt objektorientiert und bietet im I/O Segment oft Lösungen an, die sowohl in asynchronen, wie auch in synchronen Varianten verfügbar sind. Dieser Post geht von einem Windows Filesystem aus, wobei Dart auch plattformübergreifende Möglichkeiten bietet.

Für den Zugriff auf das Dateisystem müssen wir dir dart:io Bibliothek in unser Programm mit einbinden. Sie bietet uns eine Reihe von Klassen, die die Programmierung von Input / Output Operationen ermöglichen.

Wo bin ich ? Wo ist meine main.dart Datei ?


Dies könnte die erste interessante Frage sein. Die Platform Klasse hilft uns das zu beantworten. Sie enthält Informationen über die Umgebung, in welcher unser Programm läuft.


Mit .isWindows oder isMacOS können wir auf das Betriebssystem testen. Das kann vor allem im Hinblick auf die richtige Verwendung von Dateipfaden wichtig sein.


Mit Script ist hier unser Programm, bzw das File mit der main() Funktion gemeint. Platform.script enthält die uri zu unserem File mit der main Funktion. Das Format dabei ist file:///... .
Die zweite Variante mit .toFilePath gibt uns die gleiche Information, aber im Format
z.b. D:\MeinDirectory\MeinSubDirectory\main.dart. Die letzte Zeile Code verrät uns den Pfad zum Directory, in welchem unser File mit der main.dart Funktion gespeichert ist.

Ein Directory auflisten


Eine weitere Standard Aufgabe kann man natürlich mit Dart auch lösen. Das auflisten eines Directory's. Als erstes holen wir uns das aktuelle Verzeichnis. Damit ist das Verzeichnis gemeint, in welchem sich unser File mit der main Funktion befindet. Das geschieht mit Hilfe der Directory Klasse.  Mit aktuellesVerzeichnis = Directory.current holen wir die entsprechende Information.

Was hier auffällt ist die Klasse FileSystemEntity. Sie ist die "Superklasse" für File, Directory und Link. Der Code selbst listet das Verzeichnis und gibt die Einträge als Objekte vom Typ FileSystemEntity's zurück. Der Pfad Eintrag jedes Objekts wird anschließend gedruckt.

Kommentare

Beliebte Posts aus diesem Blog

Material Design in Flutter Teil 2

Dart Basic: Listen Part 1

Listen in Dart (2021): Part 1 List.filled List.empty und List.add