2016-05-31 9 views
0

Wie lösche ich Dateien mit bestimmten Erweiterungen? Zum Beispiel: .pdfDatei auf Karussell nicht löschen

Ich versuche, diesen Code:

StorageFolder library = await installedLocation.CreateFolderAsync("library", CreationCollisionOption.OpenIfExists); 
BookAudio hapusmajalah = this.carousel.SelectedItem as BookAudio; 
try 
         { 
if(hapusmajalah.Name == hapusmajalah.Name + ".pdf") 
{ 
    StorageFile filepdf = await library.GetFileAsync(hapusmajalah.Name + ".pdf"); 

          await filepdf.DeleteAsync(); 
} 

          this.carousel.SelectedItem = carousel.Items[0]; 
          await this.getContent(); 

         } 
         catch 
         { 
          this.carousel.SelectedItem = carousel.Items[0]; 
          this.getContent(); 
         } 
        })); 
} 

BookAudio Klasse:

class BookAudio 
    { 
     public string Name { get; set; } 

     public ImageSource Image { get; set; } 
    } 

aber nicht erfolgreich entfernt. Wenn Sie das if nicht verwenden, wurde die Datei erfolgreich entfernt. Wie man dieses Problem löst?

Antwort

0

Sie können den Pfad.getextension verwenden.

Die Referenzen sind:

using System.Linq; 
using System.IO; 

Und die Haupt Code wäre:

#region //Remove files with the extensions in the list. 
    public static void deleteFileExtensions(List<string> fileExtensionsToRemove, string filepath) 
    { 
     try 
     { 
      /*Get the extension by splitting by the final period.*/ 
      string tocompare = Path.GetExtension(filepath); 
      /*For every element in the list, if one of the extensions matches the file extension, delete*/ 
      fileExtensionsToRemove.ForEach(x => { if (tocompare.Contains(x)) File.Delete(filepath); }); 
     } 
     catch(IOException ex) { Console.WriteLine(ex); } 
    } 
    #endregion 

Dann rufen Sie könnten es mögen:

deleteFileExtensions(File.ReadAllLines("ExtensionsToDelete.txt").ToList(), "yourFilePath"); 
+0

was der Mittelwert von "yourFilePath"? In meinem Projekt die Datei auf "Bibliothek" StorageFolder – Rose