如何读取使用C#.net从MemoryStream下载的CSV文件?

时间:2012-02-14 11:49:30

标签: c# .net csv memorystream

我使用以下代码从外部网址下载文件(应该是.csv文件)。

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

在下载变量中,正在填充数据,但我现在的问题实际上是读取该数据。我尝试了以下方法:

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

尝试此和所有其他编码类型只返回乱码而不是我需要的.csv数据。谁能告诉我怎么做?

2 个答案:

答案 0 :(得分:0)

您正在使用默认系统代码页(Encoding.Default)阅读文件数据 - 该编码中的文件似乎不是

必须使用编码文件的编码才能成功读取。

我建议尝试使用Unicode(UTF16),UTF8和ASCII编码作为可能的选项。如果这些都不能按预期工作(即产生乱码),则需要找出原始编码。

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

答案 1 :(得分:0)

我会使用Notepad++来找出正在使用的编码。