• window 8 metro 访问Assets文件


     一般当你开始以XAML形式开发Windows 8 Metro App时,在你的工程里面可能会包含一些文件,例如用于显示的图片,数据和xml文件的读取。如下图,是我以Blank App模版创建的一个程序截图。

    <ignore_js_op>1.png

     
     

    今天我就来跟大家分享一下,如何访问Assets文件夹以及里面的文件。

    更多内容请查看下面的帖子

    [DevDiv原创]Windows 8 Metro App开发Step by Step

    Windows.Storage名称空间

    我们首先需要认识一下Windows.Store名称空间。

        如果你去阅读微软MSDN上提供的文档Windows.Storage文档你会发现里面有一个StorageFolder类,通过该类,我们可以操作文件夹和相关的内容。StorageFolder类有一个方法叫做StorageFolder.CreateFileAsync,这个方法会在当前文件夹中异步的创建一个文件。同时,你也会看到,这里有获取文件内容,读取文件属性等方法。

        在这里我会在Assets目录中添加一个XML文件1.xml,然后将其读取出来并显示在TextBox中。

        首先,我们需要获取Assets文件夹安装的路径。可以通过下面的代码获取。

    1 StorageFolder InstallationFolder = Windows.ApplicationModel.Package.Current.InstalledLocation;

        然后就是从Assets目录的文件1.xml中读取出数据。

    1 string CountriesFile = @"Assets\1.xml";
    2 StorageFolder InstallationFolder = Windows.ApplicationModel.Package.Current.InstalledLocation;
    3 StorageFile file = await InstallationFolder.GetFileAsync(CountriesFile);
    4 Stream Countries = await file.OpenStreamForReadAsync();

    在这里我把文件内容转换为stream,并使用Linq XML从XML中读取数据。
    下面我给出完成的代码片段:

    01 public async void LoadCountriesXML()
    02 {
    03     string CountriesFile = @"Assets\1.xml";
    04     StorageFolder InstallationFolder = Windows.ApplicationModel.Package.Current.InstalledLocation;
    05     StorageFile file = await InstallationFolder.GetFileAsync(CountriesFile);
    06     Stream Countries = await file.OpenStreamForReadAsync();
    07  
    08     XDocument xDOC = XDocument.Load(Countries);
    09  
    10     testXml.Text = xDOC.ToString();
    11 }

    这里需要特别注意的是asyncawait两个关键字,这两个是C#中新的关键字,在这里我们只需要知道在调用异步函数的时候需要使用到,后续的学习系列中我会对async和await进行详细的讲解。
    下面我们就来看看程序运行的效果 第一个图是1.xml文件中的内容,第二个图是程序运行起来,显示出的xml内容。 <ignore_js_op>2.png

     
     


    <ignore_js_op>3.png

     
     


    这里我给出示例代码

    游客,如果您要查看本帖隐藏内容请回复
  • 相关阅读:
    【青橙商城-管理后台开发】2. 商品服务模块搭建
    【青橙商城-管理后台开发】1.公共模块搭建
    Oracle对象-视图和索引
    Oracle的查询-分页查询
    Oracle的查询-子查询
    Oracle的查询-自连接概念和联系
    Oracle的查询-多表查询中的一些概念
    Oracle的查询-分组查询
    Oracle的查询-多行查询
    dotnet 开源库
  • 原文地址:https://www.cnblogs.com/czsl/p/2797384.html
Copyright © 2020-2023  润新知