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方法。
Windows Store App 获取文件及文件夹列表的更多相关文章
- Windows Store App JavaScript 开发:文件选取器
正如前面章节C#语言中所介绍的,文件选取器是应用与系统进行交互的一个接口,通过文件选取器可以在应用中直接与文件系统进行交互,访问不同位置的文件或文件夹,或者将文件存储在指定位置.文件选取器分为对文件进 ...
- Windows Store App 访问应用内部文件
访问应用程序内部的文件可以使用多种不同的方法,13.1节中已经介绍过相关的方法,除此之外,还可以使用文件的URI地址直接对文件进行检索,这种访问方式需要用到StorageFile类的静态方法GetFi ...
- Windows store app[Part 3]:认识WinRT的异步机制
WinRT异步机制的诞生背景 当编写一个触控应用程序时,执行一个耗时函数,并通知UI更新,我们希望所有的交互过程都可以做出快速的反应.流畅的操作感变的十分重要. 在连接外部程序接口获取数据,操作本地数 ...
- 在桌面程序上和Metro/Modern/Windows store app的交互(相互打开,配置读取)
这个标题真是取得我都觉得蛋疼..微软改名狂魔搞得我都不知道要叫哪个好.. 这边记录一下自己的桌面程序跟windows store app交互的过程. 由于某些原因,微软的商店应用的安全沙箱导致很多事情 ...
- Windows Store App 过渡动画
Windows Store App 过渡动画 在开发Windows应用商店应用程序时,如果希望界面元素进入或者离开屏幕时显得自然和流畅,可以为其添加过渡动画.过渡动画能够及时地提示用户屏幕所发 ...
- Windows store app[Part 4]:深入WinRT的异步机制
接上篇Windows store app[Part 3]:认识WinRT的异步机制 WinRT异步机制回顾: IAsyncInfo接口:WinRT下异步功能的核心,该接口提供所有异步操作的基本功能,如 ...
- Windows Store App JavaScript 开发:获取文件和文件夹列表
在应用程序中有时可能需要获取用户库中的内容,以便执行相关的操作.如果要获取某个用户库中的内容,需要先获取到这个用户库,获得用户库可以通过Windows.Storage命名空间中的KnownFolder ...
- Windows Store App JavaScript 开发:选取文件和文件夹
前面提到过,文件打开选取器由FileOpenPicker类表示,用于选取或打开文件,而文件夹选取器由FolderPicker类表示,用来选取文件夹.在FileOpenPicker类中,pickSing ...
- Windows Store App 用户库文件夹操作
上面介绍了与用户库文件有关的操作,包括创建.读写等,下面将介绍与用户库文件夹相关的操作. 与文件操作一样,想要对用户库文件夹进行操作,需要首先获取用户库的相应位置,获取的方法上面已经介绍过了,这里不再 ...
随机推荐
- csuoj 1511: 残缺的棋盘
http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1511 1511: 残缺的棋盘 时间限制: 1 Sec 内存限制: 128 MB 题目描述 输入 ...
- MyBatis Generator自动生成的配置及使用
注意:文件名不能有中文字符,不然不能自动生成 找到MyBatis Generator.rar\MyBatis Generator\eclipse里的features和plugins文件,把这两个文件复 ...
- 几个精彩的DMV
--统计表的增删改次数,反映表的使用程度 SELECT DB_NAME([database_id]) AS [Database] ,iops.[object_id] AS [ObjectID] ,QU ...
- 将序列化成json格式的日期(毫秒数)转成日期格式
<script> $(function () { loadInfo(); }) function loadInfo() { $.post("InfoList.ashx" ...
- Entity FrameWork对有外键关联的数据表的添加操作
前天做了一个MVC Entity FrameWork项目,遇到有外键关联的数据编辑问题.当你编辑的时候,按照正常的逻辑,把每个字段的数据都对号入座了,然后点击保存按钮,本以为会顺理成章的编辑数据,但是 ...
- ECStore在Win环境下如何运行CMD命令
大多数程序员使用windows开发环境来做ECStore二次开发,经常需要使用 ECStore自带的cmd命令进行一些系统操作,如清除缓存(cacheclean),升级程序(update),创建新的a ...
- visual Sdudio 快捷键
项目相关的快捷键 Ctrl + Shift + B = 生成项目 Ctrl + Alt + L = 显示Solution Explorer(解决方案资源管理器) Shift + Alt+ C = 添加 ...
- python-操作excel数据文件
1.excel文件操作 读文件xlrd模块:
- 161215、MySQL 查看表结构简单命令
一.简单描述表结构,字段类型desc tabl_name;显示表结构,字段类型,主键,是否为空等属性,但不显示外键.二.查询表中列的注释信息select * from information_sche ...
- ASP。net treeview xml
this.TreeView2.ShowLines = false; //显示连接子节点与父节点之间的线条 TreeNodeBinding area = new TreeNodeBinding(); a ...