Windows Store App 获取文件及文件夹列表
通過使用13.2.1小節給出的方法和屬性,不僅可以對用戶庫中的文件和文件夾進行操作,還可以獲取其中所有的文件或者文件夾,比如為了完整地展現整個音樂庫,可以獲取并列舉出音樂庫中所有的音樂文件,以便能夠在應用程序中瀏覽、查找喜愛的音樂。本節主要介紹如何獲取文件和文件夾列表,因為對于音樂庫、圖片庫等用戶庫來說,獲取其中文件和文件夾的方法相同,所以接下來將以圖片庫為例進行介紹。
想要讀取圖片庫中的文件或文件夾列表,首先需要使用上面介紹過的方法獲取圖片庫位置,然后使用異步方法GetFilesAsync和GetFoldersAsync分別獲得圖片庫中的所有文件和文件夾。以下是一段獲得圖片庫中所有文件和文件夾名稱的示例代碼。
StorageFolder picturesFolder = KnownFolders.PicturesLibrary;
//創建一個可變字符串對象
StringBuilder outputText = new StringBuilder();
//獲取到所有文件,將其存入只讀類型集合中
IReadOnlyList<StorageFile> fileList = await picturesFolder.GetFilesAsync();
outputText.AppendLine("文件:");
//遍歷所有文件,并將文件名添加到可變字符串中
foreach (StorageFile file in fileList)
{
??? outputText.Append(file.Name + "\n");
}
//獲取到所有文件夾,將其存入只讀類型的集合中
IReadOnlyList<StorageFolder> folderList = await picturesFolder.GetFoldersAsync();
outputText.AppendLine("文件夾:");
//遍歷所有文件夾,并將文件夾名字添加到可變字符串中
foreach (StorageFolder folder in folderList)
{
??? outputText.Append(folder.DisplayName + "\n");
}
代碼在獲得了圖片庫位置之后,新建了一個可變字符串outputText,并調用異步方法GetFilesAsync獲取圖片庫中所有的文件,使用fileList集合將其保存,通過foreach循環遍歷fileList,將其中保存的所有文件的名稱依次添加到outputText中,然后使用GetFoldersAsync方法獲得圖片庫中所有的文件夾,并保存到folderList集合中,接著同樣使用循環將所有文件夾的名稱也添加到outputText中。
上面介紹的方法是分別調用兩個不同的方法來獲取文件和文件夾,接下來介紹一種一次性獲取到所有文件和文件夾的方法。
在獲得了圖片庫位置之后,可以使用GetItemsAsync方法獲取到其中所有IStorageItem類型的對象,包括所有的文件和文件夾。示例代碼如下所示:
StorageFolder picturesFolder = KnownFolders.PicturesLibrary;
StringBuilder outputText = new StringBuilder();
//獲取到文件和文件夾的列表,將其存入只讀集合中
IReadOnlyList<IStorageItem> itemsList = await picturesFolder.GetItemsAsync();
foreach (var item in itemsList)
{
//判斷item是不是文件夾
??? if (item is StorageFolder)
??? {
??????? outputText.Append(item.Name + " 文件夾\n");
??? }
??? else
//這種情況中item是文件
??? {
??????? outputText.Append(item.Name + "\n");
??? }
}
代碼在獲得了所有IStorageItem類型的對象并將其存入itemsList集合之后,使用foreach循環判斷itemsList集合中的每一個元素是文件還是文件夾,如果是文件夾,在名稱后面加上字符串“文件夾”,添加到可變字符串outputText中,如果是文件,也同樣將名稱添加到可變字符串outputText中。
通過以上的介紹可以了解到,可以使用GetFilesAsync或GetFoldersAsync方法來分別獲取用戶庫中的文件或文件夾。但如果只需要了解用戶庫中的具體內容,而不必區分文件和文件夾,則可使用GetItemsAsync方法。
轉載于:https://www.cnblogs.com/finehappy/p/4213378.html
總結
以上是生活随笔為你收集整理的Windows Store App 获取文件及文件夹列表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql触发器报错_mysql触发器实
- 下一篇: 路由器测试的类型和方法