用File.CreateText(C#)覆盖文件

eta*_*rvt 1 c# file overwrite

我遇到了以下问题.我正在使用.NET Framework 1.1,我正在尝试使用此代码覆盖文件:

        try
        {
            using (StringWriter writer = new StringWriter())
            {
                Server.Execute(path, writer);

                using (StreamWriter sr = File.CreateText(filepath + fileName))
                {
                    sr.WriteLine(writer.ToString());
                }
            }
        }
        catch (Exception exc)
        {
            ...
        }
Run Code Online (Sandbox Code Playgroud)

有时它工作正常,但有时它不会覆盖文件,也不会抛出任何异常.有人可以告诉我问题是什么或如何处理为什么它不会覆盖文件?

Osk*_*lin 7

为什么不呢:

File.WriteAllText(Path.Combine(filepath, fileName), writer.ToString())
Run Code Online (Sandbox Code Playgroud)

MSDN:创建新文件,将指定的字符串写入文件,然后关闭该文件.如果目标文件已存在,则会被覆盖.