Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Пакет 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
Windows developer