2016-10-15 49 views
1

我正在尝试制作一个使用开放数据的应用程序。 我尝试读出的数据是CSV格式(大约40mb大)。c#uwp从网络读取csv

我有2个问题,我无法解决。

  • 首先,我很难从网络上读取文件。 我已阅读MSDN如何读取文件异步,但它都是关于本地文件。我想创建一个对象列表。每行(第一行除外)包含1个对象的所有道具

  • 其次当我最终设法读取文件时,是否有办法保存它的数据并在下次读取它时以某种方式读取它?因为每次打开应用程序时40mb都会重新下载,并且需要很长时间。 我想知道是否有可能当我再次在网络上读取文件时,它只会读取并在新行。

我是UWP(c#)应用程序的新手,所以我对这些问题表示歉意。

在此先感谢。

回答

1

有两种API可以用来下载文件。一个是HttpClient,描述为here on MSDN Documentation,并且在UWP sample here中。该类通常建议用于较小的文件和较小的数据,但也可以轻松处理较大的文件。它的缺点是,当用户关闭应用程序时,该文件将停止下载。

替代方案是BackgroundDownloader,再次here on MSDNhere in UWP samples。该类通常建议用于下载较大的文件和数据,因为它会自动在后台执行下载操作,因此即使应用程序关闭,下载也会继续。

要存储您的文件,您可以使用ApplicationData.Current.LocalFolder。这是系统为您提供的用于存储应用程序文件的特殊文件夹。您可以读取/写入此文件夹,并且您不仅可以将文件存储在此处,还可以使用UWP StorageFileStorageFolder API创建子文件夹结构。更多关于这是on MSDN