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 用户库文件夹操作
上面介绍了与用户库文件有关的操作,包括创建.读写等,下面将介绍与用户库文件夹相关的操作. 与文件操作一样,想要对用户库文件夹进行操作,需要首先获取用户库的相应位置,获取的方法上面已经介绍过了,这里不再 ...
随机推荐
- SQLite的使用--SQLite语句
一.SQLite的介绍 1.为什么要存储数据? 1.1 手机数据大多都是从网络加载的,不存储,每次滚动界面都要从新发送网络请求加载数据,浪费流量 1.2 当用户没网的时候, ...
- python IDE
提供给开发者 10 款最好的 Python IDE http://www.oschina.net/news/57468/best-python-ide-for-developers vim windo ...
- 记录一下我使用的vim的配置文件
还不是很完美: "au BufReadPost * if line("'\"") > 0|if line("'\"") &l ...
- WIN7下java环境的搭建
首先,你应该已经安装了 java 的 JDK 了,笔者安装的是:jdk-7u7-windows-x64 接下来主要讲怎么配置 java 的环境变量,也是为了以后哪天自己忘记了做个备份 1.进入“计算机 ...
- wex5 教程之 图文讲解 文件上传attachmentSimple(1)
视频教程地址:http://v.youku.com/v_show/id_XMTc4NDAyMTY4OA==.html 效果预览: 1 调用attchmentSimple组件,打开文件管理器,并选中,显 ...
- RunTime的一些用法
RunTime的一些用法 RunTime简介 RunTime简称运行时.OC就是运行时机制,其中最主要的是消息机制 对于OC来说,在编译的时候并不能决定真正调用哪个函数,只有真正运行时才会根据函数 ...
- epoll实现压测工具
代码: /* * g++ -o stress_test ./stress_test.cpp */ #include <stdlib.h> #include <stdio.h> ...
- Auty自动化测试框架第六篇——垃圾代码回收、添加suite支持
[本文出自天外归云的博客园] 垃圾代码回收 添加脚本恢复机制,因为框架会自动生成一些代码,如果代码生成后出现问题导致代码没有正常删除掉,则会造成代码垃圾,在auty目录添加recovery.py文件: ...
- Visual Studio的Web Performance Test提取规则详解(2)
总结 Visual Studio的Web Performance Test是基于HTTP协议层的,它不依赖于浏览器,通过直接接收,发送HTTP包来和Web服务器交互.Web Performance T ...
- mac 终端 svn 命令(转)
mac 终端 svn 命令 1.将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1 ...