将文本从C#文本框保存到txt文件。 (每次创建一个没有相同文件名的新文本文件)

时间:2012-10-08 06:54:01

标签: c# filestream

我想将我的C#应用​​程序的文本框中的文本转换为.txt文件。我遇到的问题是当前保存的文件将覆盖以前保存的文件。我目前的代码是:

string log = @"C:\log.txt";     
using (FileStream fs = new FileStream(log, FileMode.Create)) {
    using (StreamWriter sw = new StreamWriter(fs)) {
         foreach(string line in Textbox1.Lines)
             sw.Write(line + sw.NewLine);
     }
 }

是否可以保存txt文件但是没有覆盖以前保存的文件?有人可以帮我这个..谢谢

6 个答案:

答案 0 :(得分:3)

试试这个

string log = @"C:\log"+ DateTime.Now.ToString("dd-MM-yyyy hh-mm-ss") +".txt";

只需在文件名

中添加时间戳

答案 1 :(得分:3)

我相信你正在谈论附加说明:

using(FileStream fs = new FileStream(log, FileMode.Append)) {
    //...
}

答案 2 :(得分:1)

如果要写入同一文件,可以使用FileMode.Append:

FileStream fs = new FileStream(log, FileMode.Append)

如果你处于一个线程化的环境(即我讨论的asp.net,因为你正在谈论下载),关注文件锁等等,请注意

答案 3 :(得分:1)

尝试

string log = @"C:\log"+ DateTime.Now.ToString("yyyyMMddHHmmssfffffff")+".txt";

这可以提供高达百万分之一秒的精度

答案 4 :(得分:0)

这应该有所帮助:

string log = @"C:\log.txt";     

int intCounter = 0;
While(File.Exists(log))
{
  log = @"C:\log"+ intCounter.ToString() +".txt";    
}

答案 5 :(得分:0)

试试这个==>

string log = @"C:\log"+ new Guid().ToString("N") +".txt";