我有此代码:
using (StreamReader csvreader = new StreamReader(fuFiles.FileContent))
{
while (!csvreader.EndOfStream)
{
//reading data
}
}
我在两个不同的功能中使用它。 在第一个函数中,EndOfStream的值为false,可以正确读取数据。 在第二个函数中,相同类型的代码表示EndOfStream为true,而我无法读取数据。我正在独立创建streamreader对象。
我要再加上一条解释,当我评论第一种方法时,便能够在第二种方法中读取数据。
我在做错什么吗?
答案 0 :(得分:3)
只有两个带有一个参数的StreamReader构造函数。由于“ FileContent”可能不是字符串,因此它必须是某种Stream。第一次从中读取它是在末尾。因此,您必须将其重置为开头(如果允许),在读取之前进行复制或创建一个新副本。
答案 1 :(得分:1)
基于您提供的代码中的变量名,看起来您正在将文件的内容传递给StreamReader
构造函数。但是,constructor采用要读取的文件路径-而不是文件内容。
如果您要这样做,则可以使用StringReader
类使用流来读取字符串。