使用TextWriter无法正确写入本地整数变量的值

时间:2013-04-11 06:21:35

标签: c# textwriter

所以问题是这个我声明变量并在方法的开头打开流:

    int i = 0;
    int FailedToCopyImages = 0;
    int NumberOfCopiedImages = 0;
    int PreviouslyCopiedImages = 0;
    TextWriter tw = new StreamWriter(pathToFile, true);

然后我在try-catch-finally块和`finally finally部分:

中做了一些事情
finally
            {
                Console.WriteLine(i);
                Console.WriteLine(NumberOfCopiedImages);
                Console.WriteLine(PreviouslyCopiedImages);
                Console.WriteLine(FailedToCopyImages);
                tw.WriteLine(" ");
                tw.WriteLine("All images: " + i +
                    " | Successfully copied: " + NumberOfCopiedImages +
                    " | Previously copied: " + PreviouslyCopiedImages +
                    " | Failed To Copy: " + FailedToCopyImages);
                tw.WriteLine("--------------End Of Material Images-------------");

我用四种方法做到这一点,并在那里得到了正确的结果。在控制台中我看到变量保存正确的值,但在txt文件中我得到零(0)。

1 个答案:

答案 0 :(得分:0)

在大多数情况下,您需要在查看文件结果之前调用tw.Flush()tw.Close()(或只在new StreamWriter(..)语句中包装using (...))。

即使它似乎开始使用其他文件路径(正如你所评论的那样) - 没有魔法(至少在编程中) - 如果没有合适的Flush / {{1 }}