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
答案 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
将确保您的文件已关闭(因此完全写入)。其他变化只是很小的改进。