c# - Streamwriter类

时间:2012-07-28 18:44:08

标签: c# streamwriter

Iam尝试将List<string>写入StreamWriter类的文件。 当iam将args(在调试模式下)传递给write_lines()函数时,程序会停止而不会出现任何错误。 也许有人知道我做错了什么

    public class Writer
{
    private StreamWriter the_writer;
    private string PS_filepath;

    public Writer()
    {

    }

    public void write_lines(List<string> thelines, string path)
    {
        this.PS_filepath = path;
        this.the_writer = new StreamWriter(PS_filepath, true);

        foreach(string line in thelines)
        {
            the_writer.WriteLine(line);
        }
    }
}

Path var is C:\path\text.xyz

1 个答案:

答案 0 :(得分:3)

您的作家是在本地创建的,但从未正确关闭。

没有理由将变量存储在实例中,因此整个方法可以简单地变为静态:

public static void write_lines(List<string> thelines, string path)
{
    //this.PS_filepath = path;
    using (StreamWriter writer = new StreamWriter(path, true))
    {
      foreach(string line in thelines)
      {
          writer.WriteLine(line);
      }
    }
}

using将确保您的文件已关闭(因此完全写入)。其他变化只是很小的改进。