二十二、使用文件

这是关注用户文件的两章中的第一章,也就是说用户创建、更改和存储的文件不同于我在第 21 章中描述的应用数据和文件。

在这一章中,我将向您展示如何直接操作文件和文件夹来执行基本的文件操作,例如复制和删除文件。接下来,我将向您展示 Windows 应用的功能,这些功能可让您更全面地查看文件,包括对文件列表进行排序、过滤文件夹内容、执行复杂的文件搜索、创建虚拟文件夹以将相关文件分组在一起,以及监控文件夹以便在添加新文件时通知您。

这些技术让我为下一章做好了准备,下一章将展示如何将您的应用及其与文件和文件夹相关的功能集成到更广泛的 Windows 体验中。因此,简而言之,这一章的所有内容都是关于处理你的应用中的文件系统,而下一章是关于向用户展示这些功能。表 22-1 对本章进行了总结。

images

创建示例应用

对于这一章,我已经创建了一个名为UserFiles的新示例项目。我需要一些示例文件,所以我创建了一个img/flowers文件夹,并添加了一些 JPG 图片。这些是我在第 21 章中使用的相同图像,我已经将它们包含在本书附带的源代码下载中(可从apress.com获得)。您可以在图 22-1 中看到文件名列表,它显示了UserFiles项目的解决方案资源管理器窗口。

images

图 22-1。向示例应用添加图像文件

该项目的其余部分是一个简单的应用。您可以在清单 22-1 中看到default.html文件的内容。布局中有两个面板——一个包含一系列触发本章示例代码的按钮,另一个包含一个我用来显示消息的WinJS.UI.ListView控件。WinJS.Binding.Template控件用于显示ListView中的信息。

清单 22-1 。用户文件项目的 default.html 文件

<!DOCTYPE html> <html> <head>     <meta charset="utf-8" />     <title>UserFiles</title>     <!-- WinJS references -->     <link href="//Microsoft.WinJS.1.0/css/ui-dark.css" rel="stylesheet" />     <script src="//Microsoft.WinJS.1.0/js/base.js"></script>     <script src="//Microsoft.WinJS.1.0/js/ui.js"></script>     <!-- UserFiles references -->     <link href="/css/default.css" rel="stylesheet" />     **<script src="/js/viewmodel.js"></script>**     <script src="/js/default.js"></script> </head> `

    
        
    

        Copy Files         Copy Files (Ordered)         Delete Files         Sort Files         Filter (Basic)         Filter (AQS)         Common Query         Group (Type)