Поделиться через


Управление файлами, папками и библиотеками с помощью пакета SDK для приложений Windows

Пакет SDK для приложений Windows предоставляет мощные возможности управления файлами для упакованных приложений. API можно использовать в пространствах имен Windows.Storage, Windows.Storage.Streams и Microsoft.Windows.Storage.Pickers для эффективного чтения и записи различных форматов данных в файлах, а также управления файлами и папками.

Существует множество API- интерфейсов, связанных с файлами, папками, библиотеками и параметрами классических приложений Windows, начиная с Windows 10. Эти функции доступны с помощью сочетания пакета SDK для приложений Windows, среды выполнения Windows (WinRT) и API .NET, предоставляемых пакетом SDK для приложений Windows, пакетом SDK для Windows и пакетом SDK для .NET.

Использование средств выбора пакета SDK для приложений Windows для чтения и записи данных

В версии 1.8 и более поздних версиях Windows App SDK доступны API выбора. В следующих разделах содержатся сведения об использовании API средства выбора, чтобы пользователи открывали и сохраняли файлы и папки в приложении:

Тема Description
Открытие файлов и папок с помощью средства выбора в WinUI Используйте средства выбора файлов и папок пакета SDK для Windows, чтобы пользователи могут просматривать и выбирать файлы или папки в приложении WinUI. API выбора предоставляют знакомый интерфейс пользователя Windows, который помогает пользователям навигации по устройству и облачным хранилищам. Узнайте, как разрешить пользователям выбирать файл или папку для открытия с помощью классов FileOpenPicker и FolderPicker .
Сохранение файла с помощью средства выбора пакета SDK для приложений Windows в WinUI При создании приложений WinUI и других клиентских приложений Windows пользователи часто должны сохранять такие файлы, как документы, изображения или другое содержимое в определенные расположения на устройстве. Пакет SDK для приложений Windows предоставляет класс FileSavePicker для создания согласованного пользовательского интерфейса, который позволяет пользователям выбирать место сохранения файлов и имя.

Основные различия между средствами выбора WinRT и пакета SDK для приложений Windows

Ниже приведены некоторые ключевые отличия от 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 создают исключения, если эти свойства не заданы, новые средства выбора по умолчанию отображают все файлы, когда разработчики не настраивают эти свойства явным образом.
  • Расположение Домашней группы было исключено из нового перечисления PickerLocationId, так как оно больше не поддерживается начиная с Windows 10.
  • FolderPicker.FileTypeFilter был исключен, так как он не был функционально подходит для выбора папок.
  • Исключение методов и свойств, которые уже помечены как устаревшие или не используются. Например, PickSingleFileAndContinue, ContinuationData, ResumePickSingleFileAsync и т. д.
  • Исключение методов и свойств для многопользовательского режима, так как новые API в настоящее время предназначены для настольных сценариев, где каждый пользователь имеет свой интерактивный сеанс, и каждый сеанс полностью не зависит от других сеансов на устройстве. Это отличается от устройств Xbox или других устройств с несколькими пользователями.

Доступ к данным с помощью API-интерфейсов хранилища WinRT

Упакованные приложения имеют доступ ко всем API-интерфейсам хранилища WinRT, доступным для приложений UWP. Независимо от того, переносите ли существующее приложение UWP или создаете новое приложение, эти API можно использовать для чтения и записи данных. Примеры использования API-интерфейсов хранилища в приложении WinUI см. в статье "Доступ к файлам и папкам" с помощью пакета SDK для приложений Windows и API WinRT.

Использование API файлов .NET для доступа к данным

Помимо API WinRT упакованные классические приложения могут использовать API .NET в пространстве имен System.IO для чтения и записи данных. При создании нового проекта WinUI 3 его Package.appxmanifest файл содержит следующий параметр:

<Capabilities>
  <rescap:Capability Name="runFullTrust" />
</Capabilities>

Объявление этой ограниченной возможности обеспечивает полный доступ к файловой системе, реестру и другим ограниченным возможностям. Дополнительные сведения см. в объявлениях ограниченных возможностей. Другими словами, приложение имеет тот же доступ к файловой системе, что и любое другое классическое приложение .NET при использовании API-интерфейсов файлов .NET.

Примеры использования API .NET в приложении WinUI см. в разделе "Доступ к файлам и папкам" с помощью пакета SDK для приложений Windows и API .NET.

Дополнительные ресурсы для работы с файлами и папками

Если вы разрабатываете упакованные приложения WinUI, API-интерфейсы хранилища WinRT могут быть мощным инструментом для чтения и записи данных. Следующие разделы UWP предоставляют множество сведений для разработчиков, желающих использовать эти API в своих приложениях.

Тема Description
Перечисление и запрос файлов и папок Доступ к файлам и папкам в папке, библиотеке, устройстве или сетевом расположении. Вы также можете запросить файлы и папки в данном расположении, создав запросы к файлам и папкам.
Создание, запись и чтение файла Чтение и запись файла с помощью объекта StorageFile .
Рекомендации по записи в файлы Ознакомьтесь с рекомендациями по использованию различных методов записи файлов классов FileIO и PathIO .
Получение свойств файла Получение свойств — верхнего уровня, базового и расширенного — для файла, представленного объектом StorageFile .
Доступ к содержимому домашней группы Доступ к содержимому, хранящимся в папке домашней группы пользователя, включая изображения, музыку и видео.
Определение доступности файлов Microsoft OneDrive Определите, доступен ли файл Microsoft OneDrive с помощью свойства StorageFile.IsAvailable .
Файлы и папки в библиотеках "Музыка", "Рисунки" и "Видео" Добавьте существующие папки музыки, рисунков или видео в соответствующие библиотеки. Вы также можете удалить папки из библиотек, получить список папок в библиотеке и обнаружить сохраненные фотографии, музыку и видео.
Отслеживание недавно используемых файлов и папок Отслеживайте файлы, к которым пользователь обращается часто, добавляя их в последний используемый список приложений (MRU). Платформа управляет MRU для вас путем сортировки элементов на основе последнего доступа и путем удаления самого старого элемента при достижении ограничения на 25 элементов списка. У всех приложений есть собственный MRU.
Отслеживание изменений файловой системы в фоновом режиме Отслеживайте изменения файловой системы, даже если приложение не запущено.
Доступ к SD-карте Вы можете хранить и получать доступ к несущественным данным на необязательной microSD-карте, особенно на недорогих мобильных устройствах с ограниченным внутренним хранилищем.
Быстрый доступ к свойствам файла Соберите список файлов и их свойств из библиотеки для использования через API среды выполнения Windows.

См. также

Доступ к файлам и папкам с помощью пакета SDK для приложений Windows и API WinRT

Доступ к файлам и папкам с помощью пакета SDK для приложений Windows и API .NET

System.IO