我想将我的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文件但是没有覆盖以前保存的文件?有人可以帮我这个..谢谢
答案 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";