【发布时间】:2018-02-27 05:25:20
【问题描述】:
我正在从 base64 字符串解码 csv 文件:
byte[] input;
using (var ms = new MemoryStream())
using (var cs = new CryptoStream(ms, new FromBase64Transform(), CryptoStreamMode.Write))
using (var tr = new StreamWriter(cs))
{
tr.Write(data);
tr.Flush();
input = ms.ToArray();
}
如何简单地按字符串读取解码文件?
例如,类似于我们如何从HttpWebResponse 流中读取文件:
using (StreamReader input = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(1251), true))
{
while (!input.EndOfStream)
{
string row = input.ReadLine();
}
}
【问题讨论】:
-
@Nkosi 将内存流传递给阅读器的方式正是我所要求的
-
@Nkosi 您的解决方案是可行的,即使不是那么完美。我必须从 base64 字符串解析 csv 文件并将数据写入数据库。
-
您知道,从技术上讲,csv 格式允许在单元格内换行。如果您的输入可能来自转换后的电子表格文件,您可以查看a more advanced approach,而不是逐行阅读。