c# - MemoryStream 到 string[]

标签 c#

我从内存中的一个zip文件中读取一个CSV文件的内容(要求不写入磁盘)到MemoryStream中。并使用以下代码获取人类可读的字符串

 string  result = Encoding.ASCII.GetString(memoryStream.ToArray());

但是,我们希望结果是一个字符串 [] 来映射 CSV 文件中的每一行。

有没有办法自动处理这个问题?

谢谢

最佳答案

首先,不需要在内存流上调用ToArray。只需使用 StreamReader,并重复调用 ReadLine():

memoryStream.Position = 0; // Rewind!
List<string> rows = new List<string>();
// Are you *sure* you want ASCII?
using (var reader = new StreamReader(memoryStream, Encoding.ASCII))
{
    string line;
    while ((line = reader.ReadLine()) != null)
    {
        rows.Add(line);
    }
}

关于c# - MemoryStream 到 string[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15163722/

相关文章:

C# 将 JSON 反序列化为各种类型

c# - C# 中变量的引用?

c# - 如何在 MVC 3 aspx 引擎中使用方法以及如何在 mvc 3 中使用中继器控件?

c# - 如何使用 Rx 异步查询 Twitter 搜索?

C#正则表达式模式匹配

c# - 使用 LINQ 将一个对象属性列表更新为其他列表

java - 一个询问您要使用哪个网络浏览器的程序

c# - 以编程方式在浏览器中获取选定的文本

c# - 如何加载用户设置和值

c# - MVC5申请表导致提交时有多个post请求