Filehelpers для чтения данных из внешнего источника

Я пытаюсь прочитать CSV-файл из внешнего источника с помощью filehelpers.

Вот мой код:

var engine = new FileHelperAsyncEngine<FileController>();

        using (engine.BeginReadFile("https://dl.dropboxusercontent.com/s/xxxyyyzzz/data.csv"))
        {
            foreach(FileController csvData in engine)
            {
                Console.WriteLine(csvData.batteryLevel);
            }
        }

engine.BeginReadFile не работает с http-ссылками. Как я могу прочитать этот файл с помощью Filehelpers?

1 ответ

Решение

Я не думаю, что FileHelpers работает над http. Но вы можете скачать его сначала:

var engine = new FileHelperAsyncEngine<FileController>();

    string fileName = DownloadFile("https://dl.dropboxusercontent.com/s/xxxyyyzzz/data.csv");
    using (engine.BeginReadFile(fileName))
    {
        foreach(FileController csvData in engine)
        {
            Console.WriteLine(csvData.batteryLevel);
        }
    }
    File.Delete(fileName);


public static string DownloadFile(Uri url)
{
    string fileName = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString("n") + ".csv");
    WebClient aWebClient = new WebClient();
    aWebClient.DownloadFile(url, fileName);
    return fileName;
}
Другие вопросы по тегам