title author date CreateTime categories
win10 uwp 获取指定的文件 AQS
lindexi
2018-2-13 17:23:3 +0800
2018-2-13 17:23:3 +0800
Win10 UWP

很多时候不需要获取整个文件夹的文件,是需要获取文件夹里指定的文件。
那么 UWP 如何对文件夹里的文件进行过滤,只拿出自己需要的文件?
本文:如何使用通配符或文件匹配方式在uwp获取文件夹中指定的文件
如果阅读中发现有任何句子不通的,请告诉我 lindexi_gd@163.com

假如需要文件 有前缀"latest_" ,简单的方法是拿出 文件夹所有的文件,使用简单的对比,但是这样需要获取文件夹所有文件,速度比较慢。

    var previousInfo = (await rootFolder.GetFilesAsync()).Where(file => file.DisplayName.StartsWith("latest_")).FirstOrDefault();

一个好的方法是使用 Advanced Query Syntax

第一步,新建QueryOptions

    var queryOptions = new QueryOptions();
queryOptions.ApplicationSearchFilter = "System.FileName:latest_*";

上面的 ApplicationSearchFilter 就是根据 Using Advanced Query Syntax Programmatically (Windows) 写出对应判断

然后从当前的 文件夹 获取匹配

    StorageFileQueryResult queryResult = folder.CreateFileQueryWithOptions(queryOptions);

最后就是从结果拿出文件

    var files = await queryResult.GetFilesAsync(); 

参见:http://stackoverflow.com/a/43829407/6116637

UWP 获取指定后缀的文件

修改上面的 ApplicationSearchFilter 为下面格式就可以获得后缀

    System.FileExtension:=".后缀"

如获取 txt 可以使用

    queryOptions.ApplicationSearchFilter = "System.FileExtension:=\".txt\"";

设置后缀除了上面的方法,可以使用简单的设置

             var queryOptions = new QueryOptions();
queryOptions.FileTypeFilter.Add(".txt");

除了后缀,还可以设置文件大小

    System.Size: 

    System.Size: <1kb

如果有多个判断,使用 and 连接或 or 连接,但是关于他的语法文档很少。

如果需要的搜索是包括子文件夹的内容,请设置 queryOptions.FolderDepth

    queryOptions.FolderDepth = FolderDepth.Deep

参见:Advanced Query Syntax

https://docs.microsoft.com/en-us/uwp/api/windows.storage.search.queryoptions

最新文章

  1. Android中AlarmManager使用示例(持续更新,已经更改)
  2. IntelliJ IDEA 使用说明(For Eclipse user)
  3. 每天一个linux命令(32):gzip命令
  4. 怎么控制表单placeholder属性的样式兼容各大浏览器?
  5. 【OOAD】设计模式概述
  6. eclipse 远程调试
  7. 夺命雷公狗---DEDECMS----7dedecms目录结构
  8. JavaScript基本类型值与引用类型值
  9. 大晚上装CocoaPods出现错误坑爹
  10. JavaWeb项目开发案例精粹-第3章在线考试系统-002配置文件及辅助类
  11. 深度神经网络入门教程Deep Neural Networks: A Getting Started Tutorial
  12. richTextBox插入表格
  13. A - ACM Computer Factory - poj 3436(最大流)
  14. codecomb 2100【警察叔叔就是这个人!】
  15. 好用的函数,assert,random.sample,seaborn tsplot, tensorflow.python.platform flags 等,持续更新
  16. 【spring boot】idea下springboot打包成jar包和war包,并且可以在外部tomcat下运行访问到(转)
  17. C#通过DSOFile读取与修改文件的属性
  18. oracle的loop等循环语句的几个用法小例子
  19. Codeforces816A Karen and Morning 2017-06-27 15:11 43人阅读 评论(0) 收藏
  20. keepalived主从及双主配置

热门文章

  1. 2019.10.22 用TCP实现服务端并发接收
  2. python 临时修改模块搜索路径
  3. [idea]idea配置Jrebel 标签: ideatomcatjrebel 2017-03-14 09:23 547人阅读 评论(21
  4. 洛谷P1879 玉米田
  5. 容器云平台使用体验:数人云Crane(续)
  6. springMVC controller间跳转 重定向 传递参数的方法
  7. 在oracle中操作数据——使用特点的格式插入日期 sql函数的使用——日期函数
  8. 类的重载case2
  9. 02docker简单使用和配置(网络、存储和Hub)
  10. 自定义View系列教程03--onLayout源码详尽分析