Как я могу прочитать файл CSV, который я скачал из MemoryStream, используя C # .net? - PullRequest
0 голосов
/ 14 февраля 2012

Я загружаю файл, предположительно в формате .csv, с внешнего URL-адреса со следующим кодом.

MemoryStream download = new MemoryStream(client.DownloadData(targetUrl));

В переменной download есть данные, которые заполняются, но теперь моя проблема - это чтение этих данных. Я попробовал следующее:

StreamReader dataReader = new StreamReader(download, 
                                           System.Text.Encoding.Default, 
                                           true);

Этот и все другие типы кодирования пробуются только с бредом вместо данных .csv, которые мне нужны. Кто-нибудь может сказать мне, как это сделать?

Ответы [ 2 ]

0 голосов
/ 14 февраля 2012

Я бы использовал Блокнот ++ , чтобы узнать, какая кодировка используется.

0 голосов
/ 14 февраля 2012

Вы читаете данные файла с системной кодовой страницей по умолчанию (Encoding.Default) - кажется, что файл не в этой кодировке.

Вы должны используйте кодировку, с которой кодируется файл, чтобы успешно его прочитать.

Я предлагаю попробовать кодировки Unicode (UTF16), UTF8 и ASCII в качестве вероятных вариантов.Если ни один из этих способов не работает должным образом (т. Е. Происходит тарабарщина), вам необходимо выяснить исходную кодировку.

StreamReader dataReader = new StreamReader(download, 
                                           System.Text.Encoding.UTF8, 
                                           true);
...