Xamarin.Essentials:ファイル システム ヘルパー
FileSystem クラスには、アプリケーションのキャッシュ ディレクトリやデータ ディレクトリを検索したり、アプリ パッケージ内のファイルを開いたりする、一連のヘルパーが含まれています。
作業開始
この API の使用を始めるには、Xamarin.Essentials の概要ガイドを読み、ライブラリが正しくインストールされてプロジェクトに設定されていることを確認してください。
FileSystem の使用
クラスの Xamarin.Essentials への参照を追加します。
using Xamarin.Essentials;
キャッシュ データを格納するアプリケーションのディレクトリを取得するには、次のようにします。 キャッシュ データは、一時的なデータより長く保持する必要があるデータに対して使用できますが、正しく動作するために必要なデータである必要はありません。このストレージが消去されるタイミングは OS から指示されるためです。
var cacheDir = FileSystem.CacheDirectory;
ユーザー データ ファイルではないファイルに対するアプリケーションの最上位ディレクトリを取得するには、次のようにします。 これらのファイルは、オペレーティング システムの同期フレームワークでバックアップされます。 以下のプラットフォームの実装の詳細をご覧ください。
var mainDir = FileSystem.AppDataDirectory;
アプリケーション パッケージにバンドルされているファイルを開く場合は、OpenAppPackageFileAsync
メソッドを使用して内容を読み取ることができます。 次の例では、mybundledfile.txt
という名前のファイルが各プラットフォームに追加されています。 詳細については、プラットフォーム実装に関するセクションを参照してください。
var fileName = "mybundledfile.txt";
using (var stream = await FileSystem.OpenAppPackageFileAsync(fileName))
{
using (var reader = new StreamReader(stream))
{
var fileContents = await reader.ReadToEndAsync();
}
}
プラットフォームの実装の詳細
- CacheDirectory – 現在のコンテキストの CacheDir を返します。
- AppDataDirectory – 現在のコンテキストの FilesDir を返します。API 23 以降では、自動バックアップを使用してバックアップされます。
ファイルを Android プロジェクトの Assets フォルダーに追加し、OpenAppPackageFileAsync
で使用されるようにビルド アクションを AndroidAsset としてマークします。