Delen via


Bestanden, mappen en bibliotheken beheren met Windows App SDK

Windows App SDK biedt krachtige mogelijkheden voor bestandsbeheer voor verpakte apps. U kunt API's van de naamruimten Windows.Storage, Windows.Storage.Streams en Microsoft.Windows.Storage.Pickers gebruiken om efficiënt verschillende gegevensindelingen in bestanden te lezen en te schrijven, en bestanden en mappen te beheren.

Er zijn diverse API's met betrekking tot bestanden, mappen, bibliotheken en instellingen voor Windows-bureaublad-apps die beginnen in Windows 10. Deze functies zijn beschikbaar via een combinatie van Windows App SDK, Windows Runtime (WinRT) en .NET API's die worden geleverd door de Windows App SDK, Windows SDK en .NET SDK.

Windows App SDK-kiezers gebruiken om gegevens te lezen en schrijven

Er zijn picker-API's beschikbaar in de Windows App SDK versie 1.8 en hoger. De volgende onderwerpen bevatten informatie over het gebruik van de kiezer-API's waarmee gebruikers bestanden en mappen in uw app kunnen openen en opslaan:

Onderwerp Description
Bestanden en mappen openen met kiezers in WinUI Gebruik Windows App SDK-bestands- en mapkiezers om gebruikers te laten bladeren door bestanden of mappen in uw WinUI-app. De kiezer-API's bieden een vertrouwde Windows-ervaring waarmee gebruikers door hun apparaat en cloudopslaglocaties kunnen navigeren. Meer informatie over het selecteren van een bestand of map dat gebruikers kunnen openen met behulp van de klassen FileOpenPicker en FolderPicker .
Een bestand opslaan met Windows App SDK-kiezer in WinUI Bij het bouwen van WinUI-apps en andere Windows-client-apps moeten gebruikers vaak bestanden zoals documenten, afbeeldingen of andere inhoud opslaan op specifieke locaties op hun apparaat. De Windows App SDK biedt de klasse FileSavePicker om een consistente, gebruiksvriendelijke interface te maken waarmee gebruikers kunnen kiezen waar ze bestanden moeten opslaan en wat ze een naam moeten geven.

Belangrijkste verschillen tussen WinRT- en Windows App SDK-kiezers

Hier volgen enkele belangrijke verschillen van de WinRT Windows.Storage.Pickers die worden gebruikt door UWP-apps:

  • In tegenstelling tot de bestaande Windows.Storage.Pickers-API die StorageFile - en StorageFolder-objecten retourneert, retourneert deze nieuwe API tekenreekspaden via pickFileResult - en PickFolderResult-klassen . Dit vereenvoudigt de API en voorkomt complicaties met opslagmogelijkheden in scenario's met verhoogde bevoegdheden.
  • Op dezelfde manier is de eigenschap FileSavePicker.SuggestedSaveFile (die een StorageFile heeft geretourneerd) vervangen. De functionaliteit wordt nu gedekt door twee tekenreekseigenschappen: SuggestedFolder en SuggestedFileName. Hiermee kunt u de map en bestandsnaam voor het dialoogvenster Opslaan voorstellen.
  • Alle nieuwe kiezers zijn speciaal ontworpen voor bureaublad-apps en gebruiken een WindowId-eigenschap om de kiezer te koppelen aan het hostvenster, waarbij het WinRT.Interop.InitializeWithWindow.Initialize patroon wordt vervangen.
  • Met de nieuwe kiezers kunnen ontwikkelaars ze gebruiken zonder dat FileTypeFilter of FileTypeChoices hoeven te worden opgegeven. Hoewel UWP-kiezers uitzonderingen genereren wanneer deze eigenschappen niet zijn ingesteld, worden in de nieuwe kiezers standaard alle bestanden weergegeven wanneer ontwikkelaars deze eigenschappen niet expliciet configureren.
  • De locatie HomeGroup is uitgesloten van de nieuwe PickerLocationId enum omdat deze niet meer wordt ondersteund vanaf Windows 10.
  • FolderPicker.FileTypeFilter is uitgesloten omdat het niet functioneel geschikt was voor mapselectie.
  • Methoden en eigenschappen uitsluiten die al zijn gemarkeerd als afgeschaft of 'Niet gebruiken'. bijvoorbeeld PickSingleFileAndContinue, ContinuationData, ResumePickSingleFileAsync, enzovoort.
  • Methoden en eigenschappen uitsluiten voor de modus voor meerdere gebruikers, omdat de nieuwe API's momenteel zijn ontworpen voor bureaubladscenario's waarbij elke gebruiker een eigen interactieve sessie heeft en elke sessie volledig onafhankelijk is van de andere sessies op het apparaat. Dit is in tegenstelling tot Xbox- of andere apparaten met meerdere gebruikers.

Toegang tot gegevens met WinRT-opslag-API's

Verpakte apps hebben toegang tot alle WinRT-opslag-API's die beschikbaar zijn voor UWP-apps. Of u nu een bestaande UWP-app migreert of een nieuwe app maakt, u kunt deze API's gebruiken om gegevens te lezen en te schrijven. Zie Access-bestanden en -mappen met Windows App SDK en WinRT-API's voor voorbeelden van het gebruik van de opslag-API's in een WinUI-app.

.NET-bestands-API's gebruiken voor gegevenstoegang

Naast de WinRT-API's kunnen verpakte bureaublad-apps de .NET-API's in de System.IO naamruimte gebruiken om gegevens te lezen en te schrijven. Wanneer een nieuw WinUI 3-project wordt gemaakt, Package.appxmanifest bevat het bestand de volgende instelling:

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

Het declareren van deze beperkte mogelijkheid biedt volledige toegang tot het bestandssysteem, het register en andere beperkte mogelijkheden. Zie Declaraties van beperkte mogelijkheden voor meer informatie. Met andere woorden, de app heeft dezelfde toegang tot het bestandssysteem als elke andere .NET-desktop-app bij het gebruik van de .NET-bestands-API's.

Zie Access-bestanden en -mappen met Windows App SDK en .NET API's voor voorbeelden van het gebruik van de .NET-API's in een WinUI-app.

Aanvullende bronnen voor het werken met bestanden en mappen

Als u verpakte WinUI-apps ontwikkelt, kunnen de WinRT-opslag-API's een krachtig hulpprogramma zijn voor het lezen en schrijven van gegevens. De volgende UWP-onderwerpen bieden een schat aan informatie voor ontwikkelaars die deze API's in hun apps willen gebruiken.

Onderwerp Description
Bestanden en mappen opsommen en er query's op uitvoeren Toegang tot bestanden en mappen in een map, bibliotheek, apparaat of netwerklocatie. U kunt ook query's uitvoeren op de bestanden en mappen op een locatie door bestands- en mapquery's samen te stellen.
Een bestand maken, schrijven en lezen Een bestand lezen en schrijven met behulp van een StorageFile-object .
Aanbevolen procedures voor het schrijven naar bestanden Leer de aanbevolen procedures voor het gebruik van verschillende methoden voor het schrijven van bestanden van de klassen FileIO en PathIO .
Bestandseigenschappen ophalen Eigenschappen ophalen( op het hoogste niveau, basis en uitgebreid), voor een bestand dat wordt vertegenwoordigd door een StorageFile-object .
Toegang tot de inhoud van de HomeGroup Toegang tot inhoud die is opgeslagen in de map HomeGroup van de gebruiker, inclusief afbeeldingen, muziek en video's.
Beschikbaarheid van Microsoft OneDrive-bestanden bepalen Bepaal of een Microsoft OneDrive-bestand beschikbaar is met behulp van de eigenschap StorageFile.IsAvailable .
Bestanden en mappen in de bibliotheken Muziek, Afbeeldingen en Video's Voeg bestaande mappen met muziek, afbeeldingen of video's toe aan de bijbehorende bibliotheken. U kunt ook mappen verwijderen uit bibliotheken, de lijst met mappen in een bibliotheek ophalen en opgeslagen foto's, muziek en video's ontdekken.
Recent gebruikte bestanden en mappen bijhouden Houd bestanden bij die uw gebruiker regelmatig opent door ze toe te voegen aan de meest recent gebruikte lijst (MRU) van uw app. Het platform beheert de MRU voor u door items te sorteren op basis van wanneer ze voor het laatst zijn geopend en door het oudste item te verwijderen wanneer de limiet van 25 items van de lijst is bereikt. Alle apps hebben hun eigen MRU.
Wijzigingen in het bestandssysteem op de achtergrond bijhouden Houd wijzigingen in het bestandssysteem bij, zelfs wanneer de app niet wordt uitgevoerd.
Toegang tot de SD-kaart U kunt niet-essentiële gegevens opslaan en openen op een optionele microSD-kaart, met name op goedkope mobiele apparaten met beperkte interne opslag.
Snelle toegang tot bestandseigenschappen Verzamel efficiënt een lijst met bestanden en hun eigenschappen uit een bibliotheek om te gebruiken via de Windows Runtime-API's.

Zie ook

Toegang tot bestanden en mappen met Windows App SDK en WinRT-API's

Toegang tot bestanden en mappen met Windows App SDK en .NET API's

System.IO