Windows App SDK を含むファイル、フォルダー、およびライブラリ
パッケージ化された Windows App SDK アプリでは、Windows.Storage、Windows.Storage.Streams、および Windows.Storage.Pickers 名前空間によって提供される強力な API を利用して、ファイル内のさまざまなデータ形式の読み取りと書き込みを効率的に行い、ファイルやフォルダーを管理できます。 このセクションでは、アプリ設定の読み取りと書き込み、ファイルやフォルダーのピッカー、ビデオ/ミュージック ライブラリなどの特別なサンドボックス化された場所へのアクセスなど、重要なトピックについて説明します。 Windows App SDK を使用してアプリのファイル管理機能を最適化する方法について説明します。
Windows 10 以降の OS リリースでは、アプリのファイル、フォルダー、ライブラリ、および設定に関連するさまざまな API が提供されています。 これらの機能は、Windows SDK と .NET SDK によって提供される WinRT API と .NET API を組み合わせて使用できます。
WinRT ストレージ API を使用したデータの読み取りと書き込み
パッケージ化されたアプリは、UWP アプリで使用できるすべての WinRT ストレージ API にアクセスできます。 既存の UWP アプリを移行する場合でも、新しいアプリを作成する場合でも、これらの API を使用してデータの読み取りと書き込みを行うことができます。 WinUI アプリでストレージ API を使用する例については、「Windows App SDK と WinRT API を使用してファイルとフォルダーにアクセスする」を参照してください。
.NET ファイル API を使用したデータの読み取りと書き込み
WinRT API に加えて、パッケージ化されたアプリでは、System.IO 名前空間の .NET API を使用してデータの読み取りと書き込みを行うことができます。 新しい WinUI 3 プロジェクトが作成されると、その Package.appxmanifest
ファイルには次の設定が含まれます。
<Capabilities>
<rescap:Capability Name="runFullTrust" />
</Capabilities>
この制限付き機能を宣言すると、ファイル システム、レジストリ、およびその他の制限付き機能へのフル アクセスが提供されます。 詳しくは、制限された機能の宣言に関する記事をご覧ください。 言い換えると、.NET ファイル API を使用する場合、アプリは他の .NET デスクトップ アプリと同じ、ファイル システムへのアクセス権を持ちます。
WinUI アプリで .NET API を使用する例については、「Windows App SDK と .NET API を使用してファイルとフォルダーにアクセスする」を参照してください。
ファイルとフォルダーの使用に関する追加のリソース
パッケージ化された WinUI アプリを開発している場合、WinRT ストレージ API は、データの読み取りと書き込みのための強力なツールになる可能性があります。 次の UWP トピックでは、これらの API をアプリで活用しようとしている開発者向けに豊富な情報を提供します。
トピック | 説明 |
---|---|
ファイルとフォルダーの列挙と照会 | フォルダー、ライブラリ、デバイス、またはネットワーク上の場所にあるファイルとフォルダーにアクセスします。 ファイルとフォルダーのクエリを作成して、ある場所内のファイルとフォルダーに対してクエリを実行することもできます。 |
ファイルの作成、書き込み、および読み取り | StorageFile オブジェクトを使用してファイルの読み取りと書き込みを行います。 |
ファイルへの書き込みに関するベスト プラクティス | FileIO および PathIO クラスのさまざまなファイル書き込みメソッドの使用に関するベスト プラクティスについて学習します。 |
ファイルのプロパティを取得する | StorageFile オブジェクトで表されるファイルのプロパティ (最上位、基本、拡張) を取得します。 |
ピッカーでファイルやフォルダーを開く | ユーザーがピッカーを操作してファイルやフォルダーにアクセスできるようにします。 フォルダーへのアクセスには FolderPicker を使います。 注: デスクトップ アプリ (WinUI 3 アプリを含む) では、Windows.Storage.Pickers のファイルピッカーおよびフォルダー ピッカーを使用できます。 ただし、これらの API は昇格されたアプリで使用できるように設計されていないため、デスクトップ アプリを実行するために昇格が必要である場合は、別のアプローチが必要になります。 例については、「FileSavePicker」を参照してください。 |
ピッカーによるファイルの保存 | FileSavePicker を使ってユーザーがアプリで保存するファイルの名前とその保存場所を指定できるようにします。 |
ホームグループ コンテンツへのアクセス | ユーザーのホームグループ フォルダーに格納されているコンテンツ (画像、音楽、ビデオなど) にアクセスします。 |
Microsoft OneDrive ファイルが利用可能かどうかの確認 | StorageFile.IsAvailable プロパティを使って、Microsoft OneDrive ファイルが利用可能かどうかを確認します。 |
ミュージック、画像、およびビデオ ライブラリのファイルとフォルダー | 音楽、写真、ビデオの既存のフォルダーを対応するライブラリに追加します。 ライブラリからフォルダーを削除したり、ライブラリ内のフォルダーの一覧を取得したり、保存した写真、音楽、ビデオを検索したりすることもできます。 |
最近使ったファイルやフォルダーの追跡 | ユーザーが頻繁にアクセスするファイルをアプリの最近使用したリスト (MRU) に追加することで追跡します。 プラットフォームは、最後にアクセスされた時期に基づいて項目を並べ替え、リストの 25 項目の制限に達した場合に最も古い項目を削除することによって、MRU を管理します。 すべてのアプリには独自の MRU があります。 |
ファイル システムの変更のバックグラウンドでの追跡 | アプリが実行されていない場合でも、ファイル システムの変更を追跡します。 |
SD カードへのアクセス | 特に内部ストレージが限られている低コストのモバイル デバイスでは、オプションの microSD カードに重要でないデータを保存してアクセスできます。 |
ファイルのプロパティにすばやくアクセスする | Windows ランタイム API 経由で使用するために、ライブラリからファイルとそのプロパティの一覧を効率的に収集します。 |
関連項目
Windows App SDK と WinRT API を使用してファイルとフォルダーにアクセスする
Windows developer