Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Windows App SDK предоставляет мощные возможности управления файлами для упакованных приложений. API можно использовать из пространств имен Windows.Storage, Windows.Storage.Streams и Microsoft.Windows.Storage.Pickers для эффективного чтения и записи различных форматов данных в файлах, а также управления файлами и папками.
Существует множество API-интерфейсов, связанных с файлами, папками, библиотеками и параметрами классических приложений Windows, начиная с Windows 10. Эти функции доступны путем комбинирования Windows App SDK, Windows Runtime (WinRT) и .NET API, предоставляемых SDK Windows App SDK, Windows SDK и .NET SDK.
Использование средства выбора Windows App SDK для чтения и записи данных
В Windows App SDK версии 1.8 и более поздних версиях доступны интерфейсы выбора API. В следующих разделах содержатся сведения об использовании API средства выбора, чтобы пользователи открывали и сохраняли файлы и папки в приложении:
| Тема | Description |
|---|---|
| Открытие файлов и папок с помощью средства выбора в WinUI | Используйте Windows App SDK средства выбора файлов и папок, чтобы пользователи могут просматривать и выбирать файлы или папки в приложении WinUI. API выбора предоставляют знакомый интерфейс Windows, который помогает пользователям перемещаться по устройствам и облачным хранилищам. Узнайте, как разрешить пользователям выбирать файл или папку для открытия с помощью классов FileOpenPicker и FolderPicker. |
| Сохранение файла с помощью средства выбора Windows App SDK в WinUI | При создании приложений WinUI и других клиентских приложений Windows пользователи часто должны сохранять такие файлы, как документы, изображения или другое содержимое в определенные расположения на устройстве. Windows App SDK предоставляет класс FileSavePicker для создания согласованного пользовательского интерфейса, который позволяет пользователям выбирать место сохранения файлов и их имя. |
Основные различия между WinRT и средства выбора Windows App SDK
Ниже приведены некоторые ключевые отличия от WinRT Windows.Storage.Pickers, используемые приложениями UWP:
- В отличие от существующего API Windows.Storage.Pickers, который возвращает объекты StorageFile и StorageFolder, этот новый API возвращает строковые пути с помощью классов PickFileResult и PickFolderResult. Это упрощает API и позволяет избежать осложнений с возможностями хранения в условиях повышенных привилегий.
- Аналогичным образом было заменено свойство FileSavePicker.SuggestedSaveFile (которое вернуло StorageFile). Теперь его функциональные возможности рассматриваются двумя строковыми свойствами: SuggestedFolder и SuggestedFileName. Они позволяют предложить имя папки и файла для диалогового окна сохранения.
- Все новые средства выбора предназначены специально для настольных приложений и используют свойство WindowId для связывания средства выбора с его главным окном, заменив
WinRT.Interop.InitializeWithWindow.Initializeшаблон. - Новые средства выбора позволяют разработчикам использовать их без необходимости указывать FileTypeFilter или FileTypeChoices. Хотя средства выбора UWP создают исключения, если эти свойства не заданы, новые средства выбора по умолчанию отображают все файлы, когда разработчики не настраивают эти свойства явным образом.
- Расположение HomeGroup было исключено из нового перечисления PickerLocationId, так как его поддержка прекращена, начиная с Windows 10.
- FolderPicker.FileTypeFilter был исключен, так как он не был функционально подходит для выбора папок.
- Исключение методов и свойств, которые уже помечены как устаревшие или не используются. Например, PickSingleFileAndContinue, ContinuationData, ResumePickSingleFileAsync и т. д.
- Исключение методов и свойств для многопользовательского режима, так как новые API в настоящее время предназначены для настольных сценариев, где каждый пользователь имеет свой интерактивный сеанс, и каждый сеанс полностью не зависит от других сеансов на устройстве. Это отличается от устройств Xbox или других устройств с несколькими пользователями.
Доступ к данным через API-интерфейсы хранилища WinRT
Упакованные приложения имеют доступ ко всем API-интерфейсам хранилищам WinRT, доступным для приложений UWP. Независимо от того, переносите ли существующее приложение UWP или создаете новое приложение, эти API можно использовать для чтения и записи данных. Примеры использования API хранилища в приложении WinUI 3 вы можете найти в разделе Работа с файлами и папками с помощью Windows App SDK и API WinRT.
Использование файловых API .NET для доступа к данным
Помимо API WinRT упакованные классические приложения могут использовать api .NET в пространстве имен System.IO для чтения и записи данных. При создании нового project WinUI его Package.appxmanifest-файл содержит следующий параметр:
<Capabilities>
<rescap:Capability Name="runFullTrust" />
</Capabilities>
Объявление этой ограниченной возможности предоставляет полный доступ к файловой системе, реестру и другим ограниченным возможностям. Дополнительные сведения см. в объявлениях ограниченных возможностей. Другими словами, приложение имеет тот же доступ к файловой системе, что и любое другое классическое приложение .NET при использовании файловых API .NET.
Примеры использования API платформы .NET в приложении WinUI см. в разделе Доступ к файлам и папкам с помощью Windows App SDK и API платформы .NET.
Дополнительные ресурсы для работы с файлами и папками
Если вы разрабатываете упакованные приложения WinUI, API-интерфейсы WinRT storage могут быть мощным инструментом для чтения и записи данных. Следующие разделы UWP предоставляют множество сведений для разработчиков, желающих использовать эти API в своих приложениях.
| Тема | Description |
|---|---|
| Перечисление и запрос файлов и папок | Доступ к файлам и папкам в папке, библиотеке, устройстве или сетевом расположении. Вы также можете запросить файлы и папки в данном расположении, создав запросы к файлам и папкам. |
| Создание, запись и чтение файла | Чтение и запись файла с помощью объекта StorageFile. |
| Рекомендации по записи в файлы | Ознакомьтесь с рекомендациями по использованию различных методов записи файлов классов FileIO и PathIO. |
| Получение свойств файла | Получение свойств — верхнего уровня, базового и расширенного — для файла, представленного объектом StorageFile. |
| Доступ к содержимому домашней группы | Получите доступ к содержимому, хранящемуся в папке в Домашней группе пользователя, включая изображения, музыку и видео. |
| Детерминирование доступности файлов Microsoft OneDrive | Определите, доступен ли файл Microsoft OneDrive с помощью свойства StorageFile.IsAvailable. |
| Файлы и папки в библиотеках "Музыка", "Рисунки" и "Видео" | Добавьте существующие папки музыки, рисунков или видео в соответствующие библиотеки. Вы также можете удалить папки из библиотек, получить список папок в библиотеке и обнаружить сохраненные фотографии, музыку и видео. |
| Отслеживание недавно используемых файлов и папок | Отслеживайте файлы, к которым пользователь обращается часто, добавляя их в последний используемый список приложений (MRU). Платформа управляет MRU для вас путем сортировки элементов на основе последнего доступа и путем удаления самого старого элемента при достижении ограничения на 25 элементов списка. У всех приложений есть собственный MRU. |
| Отслеживание изменений файловой системы в фоновом режиме | Отслеживайте изменения файловой системы, даже если приложение не запущено. |
| Получите доступ к SD-карте | Вы можете хранить и получать доступ к несущественным данным на опциональной карте microSD, особенно на недорогих мобильных устройствах с ограниченным внутренним хранилищем. |
| Быстрый доступ к свойствам файла | Эффективный сбор списка файлов и их свойств из библиотеки для использования с помощью Windows Runtime API. |
См. также
Доступ к файлам и папкам с помощью Windows App SDK и API WinRT
Доступ к файлам и папкам с помощью Windows App SDK и .NET API
Windows developer