2016-10-15 3 views
1

공개 데이터를 사용하는 앱을 만들려고합니다. 내가 읽으려고하는 데이터는 CSV 형식으로되어 있으며 약 40MB 크기입니다.C# uwp 웹에서 csv 읽기

해결할 수없는 두 가지 문제가 있습니다.

  • 처음으로 웹에서 파일을 읽는 데 어려움이 있습니다. MSDN에서 파일 비동기 읽기 방법을 이미 읽었지만 로컬 파일에 관한 내용입니다. 나는 물건 목록을 만들고 싶다. 각 행 (첫 번째 줄 제외)에는 1 객체에 대한 모든 소품이 포함되어 있습니다.

  • 두 번째로 파일을 읽었을 때 데이터를 저장하고 다음 번에 어떻게 든 읽을 수있는 방법이 있습니까? 40MB는 앱을 열 때마다 다시 다운로드하기에 꽤 크기 때문에 많은 시간이 걸립니다. 웹에서 파일을 다시 읽었을 때 읽기 전용이고 새 줄에서만 읽을 수 있는지 궁금합니다.

저는 UWP (C#) 응용 프로그램의 초보자입니다. 질문에 사과드립니다.

미리 감사드립니다.

답변

1

파일을 다운로드하는 데 사용할 수있는 API가 두 가지 있습니다. 하나는 HttpClient이고, here on MSDN DocumentationUWP sample here으로 기재되어있다. 이 클래스는 보통 작은 파일과 작은 데이터에는 권장되지만 큰 파일도 쉽게 처리 할 수 ​​있습니다. 단점은 사용자가 앱을 닫으면 파일 다운로드가 중단된다는 것입니다.

대안은 BackgroundDownloader이고, 또 here on MSDNhere in UWP samples입니다. 이 클래스는 대용량 파일과 데이터를 다운로드 할 때 일반적으로 권장됩니다. 다운로드가 백그라운드에서 자동으로 수행되므로 앱이 닫히더라도 다운로드가 계속됩니다.

파일을 저장하려면 ApplicationData.Current.LocalFolder을 사용할 수 있습니다. 이 파일은 응용 프로그램 파일 저장을 위해 시스템에서 제공하는 특수 폴더입니다. 이 폴더에 대한 읽기/쓰기 권한이 있으며 여기에 파일을 저장할 수있을뿐만 아니라 UWP StorageFileStorageFolder API를 사용하여 하위 폴더 구조를 만들 수도 있습니다. 이에 대한 자세한 내용은 on MSDN입니다.