2016-10-15 6 views
1

公開データを利用するアプリを作ろうとしています。 私が読みたいデータは、CSV形式です(約40MBの大きさです)。c#uwp webからcsvを読み取る

私は解決できない2つの問題があります。

  • 最初に私はウェブからファイルを読みにくいです。 MSDNでファイル非同期の読み方を読みましたが、それはすべてローカルファイルに関するものです。私はオブジェクトのリストを作成したい。各行(1行目を除く)には1つのオブジェクトのすべての小道具が含まれています

  • 2番目に私が最終的にファイルを読むことができたとき、それを保存して次回に何とか読む方法はありますか?あなたがアプリを開くたびに40MBのファイルを再ダウンロードするのはかなり大きいので、時間がかかります。 ウェブ上のファイルをもう一度読むと、読み込まれるだけで新しい行に表示される可能性があるのでしょうか?

私はUWP(c#)アプリケーションの初心者ですから、質問にお詫び申し上げます。

ありがとうございます。

答えて

1

ファイルをダウンロードするために使用できるAPIは2つあります。 1つはHttpClientであり、here on MSDN Documentationと記載され、UWP sample hereと記載されている。このクラスは通常、ファイルサイズが小さく、データサイズが小さい場合に推奨されますが、サイズの大きいファイルも簡単に処理できます。その欠点は、ユーザーがアプリを閉じると、ファイルのダウンロードが停止することです。

代替はBackgroundDownloaderであり、やはりhere on MSDNhere in UWP samplesです。このクラスは通常、大容量のファイルやデータをダウンロードする際に推奨されます。バックグラウンドで自動的にダウンロードされるため、アプリが終了してもダウンロードが続行されます。

ファイルを保存するには、ApplicationData.Current.LocalFolderを使用します。これは、アプリケーションファイルの格納用にシステムから提供される特別なフォルダです。このフォルダへの読み取り/書き込みアクセス権があり、ここにファイルを保存できるだけでなく、UWP StorageFileおよびStorageFolder APIを使用してサブフォルダ構造を作成することもできます。詳細はon MSDNです。

関連する問題