2017-01-24 2 views
0

Existe-t-il un moyen de détecter la quantité d'espace disponible dans un dossier de stockage? J'utilise le code ci-dessous pour écrire un fichier texte dans le répertoire, mais je voudrais savoir combien d'espace est disponible. Mon application va écrire des fichiers audio dans le répertoire et aimerait pouvoir détecter l'espace de stockage disponible. MerciDétecter l'espace de dossier de stockage disponible dans Windows 10 IoT?

var storageFolder = await ApplicationData.Current.LocalFolder.CreateFolderAsync("Data", CreationCollisionOption.OpenIfExists); 
var storageFile = await storageFolder.CreateFileAsync("Test.txt", Windows.Storage.CreationCollisionOption.GenerateUniqueName); 

Répondre

1

Vous pouvez utiliser StorageFolder.Properties.RetrievePropertiesAsync() api.

Je l'ai testé avec le morceau de code suivant:

 //Get the available space 
     var storageFolder = await ApplicationData.Current.LocalFolder.CreateFolderAsync("Data", CreationCollisionOption.OpenIfExists); 
     var result = await storageFolder.Properties.RetrievePropertiesAsync(new string[] { "System.FreeSpace" }); 
     var freeSpace = result["System.FreeSpace"]; 

     //Do something to take up some space of "Data" folder 
     byte[] data = new byte[1024000]; 
     var storageFile = await storageFolder.CreateFileAsync("Test.txt", Windows.Storage.CreationCollisionOption.GenerateUniqueName); 
     await FileIO.WriteBytesAsync(storageFile,data); 

     //Get the available space 
     var result2 = await storageFolder.Properties.RetrievePropertiesAsync(new string[] { "System.FreeSpace" }); 
     var freeSpace2 = result2["System.FreeSpace"];