StreamWriter提供的线路应该更少

时间:2014-05-11 11:20:11

标签: c# matrix streamwriter

我正在为考试练习C#编程,但我无法解决问题,这就是我要求你帮助的原因。

我有一个充满字符串的矩阵(50x50)(RGB代码)[它的名字:kep]。

我试图将矩阵写入TXT文件,但它提供的线路数量少于应有的数量。

StreamWriter fajl = new StreamWriter(@"..\..\..\keretes.txt");
int ciklusok = 0;

for (int y = 0; pixelek > y; y++)
{
    for (int x = 0; pixelek > x; x++)
    {
        fajl.WriteLine(kep[x, y]);
        ciklusok++;
    }
}

StreamWriter将TXT“成功”写入,但它只有2412行(也是最后一行中的值已被拆分)。

ciklusok变量给出2500(这是正确的数字)。

有谁知道为什么StreamWriter没有正确写作?

1 个答案:

答案 0 :(得分:1)

尝试在使用块中包装StreamWriter。因为,您不是在调用Close()Close() - 关闭流,而是在内部执行 flush 操作。使用语句会自动调用Close()方法。

  

Flush - 清除当前writer的所有缓冲区并导致任何缓冲区   缓冲的数据写入底层流。

using (StreamWriter fajl = new StreamWriter(@"..\..\..\keretes.txt"))
{
    int ciklusok = 0;

    for (int y = 0; pixelek > y; y++)
    {
        for (int x = 0; pixelek > x; x++)
        {
             fajl.WriteLine(kep[x, y]);
             ciklusok++;
        }
    }
}