每次执行程序时都使用StreamWriter创建新文件

时间:2013-04-11 07:39:25

标签: c# streamwriter

我正在制作一个简单的工具来处理数据库中的图像。我想在txt文件中显示输出结果,因为每次结果可能不同,我希望每次执行数据时都用新数据重写文件。

我也希望(如果可能的话)使用一些默认位置来创建txt文件,即使我有一个App.Config文件,这也是一个选项。

我遇到的问题是这段代码:

string Resultfile = 
    System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + 
    "\\PictureStatus.txt";

FileStream strm = new FileStream(Resultfile , FileMode.Create);

TextWriter tw = new StreamWriter(strm);

这只会填充PictureStatus.txt一次,然后我反复收到相同的文字。我注意到如果我使用一些随机目的地,文件就会更新。不确定它是随机行为还是与使用MyDocuments有关,但我需要的是确保每次都用新数据重写文件的方法,如果可能的话,使用一些默认目的地,适用于其他人。

1 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情

public partial Form2 : Form 
{

public string path = Environment.CurrentDirectory + "/" + "Name.txt";

   public Form2()
   {

       InitializeComponent();

       if (!File.Exists(path))
       {
            File.Create(path);
       }

   }

     private void button2_Click(object sender, EventArgs e)
     {

        using (StreamWriter sw = new StreamWriter(path, true))
        {
          sw.WriteLine("This text will be writen in the txt file", true);
          sw.Close();
        }
     }
}

我已经添加了该按钮,当我按下该按钮时,它将每次写在下一行中。如果从代码中删除“ true”,则每次都会覆盖它。