Xamarin.Essentials: Dateisystemhilfsprogramme

Die Klasse FileSystem enthält eine Reihe von Hilfsprogrammen, um den Cache und die Datenverzeichnisse der Anwendung zu finden und Dateien im App-Paket zu öffnen.

Erste Schritte

Lesen Sie zum Einstieg in die Verwendung dieser API den Leitfaden mit ersten Schritte für Xamarin.Essentials, um sicherzustellen, dass die Bibliothek ordnungsgemäß installiert und in Ihren Projekten eingerichtet ist.

Verwenden der Dateisystemhilfsprogramme

Fügen Sie in Ihrer Klasse einen Verweis auf Xamarin.Essentials hinzu:

using Xamarin.Essentials;

So rufen Sie das Anwendungsverzeichnis zum Speichern von Cachedaten ab. Cachedaten können für alle Daten verwendet werden, die länger als temporäre Daten aufbewahrt werden müssen. Dabei sollte es sich aber nicht um Daten handeln, die für den ordnungsgemäßen Betrieb erforderlich sind, da das Betriebssystem vorgibt, wann dieser Speicher gelöscht wird.

var cacheDir = FileSystem.CacheDirectory;

So rufen Sie das oberste Anwendungsverzeichnis für alle Dateien ab, die keine Benutzerdatendateien sind. Diese Dateien werden über das Synchronisierungsframework des Betriebssystems gesichert. Die Besonderheiten bei der plattformspezifischen Implementierung sind weiter unten beschrieben.

var mainDir = FileSystem.AppDataDirectory;

Wenn Sie eine Datei öffnen möchten, die im Anwendungspaket gebündelt wurde, können Sie die OpenAppPackageFileAsync-Methode verwenden, um den Inhalt zu lesen. Im folgenden Beispiel wurde jeder Plattform eine Datei mit dem Namen mybundledfile.txt hinzugefügt. Weitere Informationen finden Sie im Abschnitt zu Besonderheiten der Plattformimplementierung.

 var fileName = "mybundledfile.txt";
 using (var stream = await FileSystem.OpenAppPackageFileAsync(fileName))
 {
    using (var reader = new StreamReader(stream))
    {
        var fileContents = await reader.ReadToEndAsync();
    }
 }

Besonderheiten bei der plattformspezifischen Implementierung

  • CacheDirectory: Gibt das Verzeichnis CacheDir des aktuellen Kontexts zurück.
  • AppDataDirectory: Gibt das Verzeichnis FilesDir des aktuellen Kontexts zurück. Die Sicherung erfolgt mit der automatischen Sicherung ab API-Ebene 23 und höher.

Fügen Sie eine beliebige Datei zum Ordner Assets im Android Projekt hinzu, und markieren Sie den Buildvorgang als AndroidAsset, um ihn mit OpenAppPackageFileAsync zu verwenden.

API

Auf Channel 9 und auf YouTube finden Sie weitere Videos zu Xamarin.