StreamWriter给出的行数比它应该的少

本文关键字:StreamWriter | 更新日期: 2023-09-27 18:02:41

我正在为考试练习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写不正确吗?

StreamWriter给出的行数比它应该的少

尝试使用块将StreamWriter封装在中。因为,您没有调用Close()Close() - 关闭流,并且内部也执行刷新操作。Using语句自动调用Close()方法

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

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++;
        }
    }
}