保存具有相同名称的文件

时间:2010-07-21 11:41:33

标签: c#

我用它来保存我的文件

string m_strDate = DateTime.Now.ToString("MM/dd/yyyy");
m_strDate = m_strDate.Replace("/", "");
strPath += "/FileHeader_" + m_strDate + ".txt";

因此,我可以每天保存一个文件。但是,如果我再次创建该文本文件中的数据将被新文件替换。现在我需要的是我想保存我的文件,带有一些名称以及日期和数字,如

"/FileHeader_1" + m_strDate + ".txt"

等等。

3 个答案:

答案 0 :(得分:3)

strPath = "/FileHeader_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".txt";

或检查文件是否存在:

strPath = "/FileHeader_{0}" + DateTime.Now.ToString("MMddyyyy") + ".txt";
if ( File.Exists( string.format( strPath, "" ) ){
  int i = 1;
  while( File.Exists(string.format( strPath, i ) ){ i++ ; }
  strPath = string.Format(strPath, i);
}
else {
  strPath = string.format( strPath, "" );
}

答案 1 :(得分:1)

string fileName = "/FileHeader_" + m_strDate + ".txt";
if (File.Exists(fileName))
{
  int index = 1;
  fileName = "/FileHeader_" + index + m_strDate + ".txt";
  while (File.Exists(fileName))
    fileName = "/FileHeader_" + ++index + m_strDate + ".txt";
}

答案 2 :(得分:0)

string head = Path.Combine(strPath, "FileHeader_");
string tail = DateTime.Now.ToString("MMddyyyy") + ".txt";

int index = 1;
string fileName = head + tail;

while (File.Exists(fileName))
{
    fileName = head + index + tail;
    index++;
}