Problems with Streamwriter
本文关键字:Streamwriter with Problems | 更新日期: 2023-09-27 18:19:21
我知道这听起来很愚蠢,但我有一个非常简单的应用程序,它将一些用户的一些数据保存在数据库中,然后我想将所有数据写入一个。txt文件。
代码如下:
List<MIEMBRO> listaMiembros = bd.MIEMBRO.ToList<MIEMBRO>();
fic.WriteLine("PARTICIPACIONES GRATUITAS MIEMBROS: ");
mi = new Miembro();
foreach (MIEMBRO_GRATIS m in listaMiembroGratis)
{
mi.setNomMiembro(m.nomMiembro);
mi.setNumRifa(m.numRifa.ToString());
fic.WriteLine(mi.ToString());
}
fic.WriteLine();
如你所见,非常简单的代码。问题是:我在数据网格上显示信息,我知道还有很多成员,但它在某个点停止写入。是否有任何数量的行或字符写在流写器??为什么我不能写所有的成员,只能写一部分??
fic
在您查看输出文件时可能没有被刷新;如果您将它实例化为using
块的参数,那么当您完成后,它将被刷新、关闭和处理。
此外,如果您正在正确刷新(但在检查文件时没有刷新),您可以在每次迭代结束时刷新:
foreach (MIEMBRO_GRATIS m in listaMiembroGratis)
{
mi.setNomMiembro(m.nomMiembro);
mi.setNumRifa(m.numRifa.ToString());
fic.WriteLine(mi.ToString());
fic.Flush();
}
这会稍微降低性能,但它至少会让您有机会看到哪个记录写入失败(如果确实抛出了异常)。
有多少行或字符要写在streamwriter ? ?
不,没有。
如你所见,非常简单的代码。问题是:我展示的信息是一个数据网格,我知道还有更多的成员,但它停止了写在某个点
我的猜测是你的代码抛出了一个异常,而你没有捕捉到它。我会看看Miembro
中setNomMiembro, setNumRifa
和ToString
的实现;顺便说一下,在setNomMiembro
和setNumRifa
的情况下,应该作为属性({get;set;}
)实现,而不是作为方法。
例如,在numRifa
中调用ToString
,如果numRifa
为空,则会抛出空指针异常。