metro开发和wp8开发中异步读取数据源文件

下面是读取本地数据源的一个方法,可能你会觉得不复杂,。。。但是对于新手来讲还是有帮助的!!!吐舌头偷笑大笑!以下第一个是metro开发中适用!!

 /// <summary>
        /// 异步读取数据源文件
        /// </summary>
        /// <returns>返回你的自定义类型集合</returns>
        public static async Task<ObservableCollection<ObjectBean>> AsyncReadTxt()
        {
            StorageFolder InstallationFolder = Windows.ApplicationModel.Package.Current.InstalledLocation;
            string CountriesFile = @"Assets\yourtxt.txt";
            StorageFile storageFile = await InstallationFolder.GetFileAsync(CountriesFile);
            IList<String> fileContent = await FileIO.ReadLinesAsync(storageFile, UnicodeEncoding.Utf8);
            ObservableCollection<ObjectBean> result_objs = new ObservableCollection<ObjectBean>();
            if (fileContent != null && fileContent.Count > 0)
            {
                foreach (String str in fileContent)
                {
                    ObjectBean templat_obj = new ObjectBean();
                    String[] arr_txt = str.Trim().Split(';');//假设你的文本行是用分号隔开的-如:aaaa;bbbb;cccc
                    for (int i = 0; i < arr_city.Length; i++)
                    {
                        switch (i)
                        {
                            case 0:
                                templat_obj.Name = arr_txt[i];
                                break;
                            case 1:
                                templat_city.Address= arr_txt[i];
                                break;
                            case 2:
                                templat_city.Email= arr_txt[i];
                                break;
                        }
                    }
                    result_objs.Add(templat_obj);
                }

            }
            return  result_objs;
        }

接下来是wp8开发中的方法,和win8上的代码有些异同!!!见代码思考吧!!!哈哈!

 /// <summary>
        /// 异步读取数据源文件-
        /// </summary>
        /// <returns>返回你的自定义集合类</returns>
        public static async Task<ObservableCollection<ObjectBean>> AsyncReadTxtForWp8()
        {
            ///CSMBP-WP8;component/
            StorageFile storageFile = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Assets/yourtxt.txt",UriKind.Absolute));
            ObservableCollection<String> fileContent = new ObservableCollection<String>();
            //IStorageFolder applicationFolder = Windows.ApplicationModel.Package.Current.InstalledLocation;
            //IStorageFile storageFile = await applicationFolder.GetFileAsync(CountriesFile);
            IRandomAccessStream accessStream = await storageFile.OpenReadAsync();
            using (Stream stream = accessStream.AsStreamForRead((int)accessStream.Size))
            {
                byte[] content = new byte[stream.Length];
                await stream.ReadAsync(content, 0, (int)stream.Length);
                String text = Encoding.UTF8.GetString(content, 0, content.Length);
                String[] textArray = text.Split('\n');
                foreach (String str in textArray)
                {
                    fileContent.Add(str);
                }
            }
            if (fileContent != null && fileContent.Count > 0)
            {
	    }
       }




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值