C#实现保存文件时重名自动生成新文件的方法

本文实例讲述了C#实现保存文件时重名自动生成新文件的方法。分享给大家供大家参考。具体如下:

将一个文档保存为 a.txt 时,发现此文件已经存在,则自动保存为 a(1).txt

/// <summary>
/// Generates a new path for duplicate filenames.
/// </summary>
/// <param name="path">The path.</param>
/// <returns></returns>
private string GetNewPathForDupes( string path )
{
  string directory = Path.GetDirectoryName( path );
  string filename = Path.GetFileNameWithoutExtension( path );
  string extension = Path.GetExtension( path );
  int counter = 1;
  string newFullPath;
  do
  {
  string newFilename = "{0}({1}).{2}".FormatWith( filename, counter, extension );
  newFullPath = Path.Combine( directory, newFilename );
  counter++;
  } while ( System.IO.File.Exists( newFullPath ) );
  return newFullPath;
}

希望本文所述对大家的C#程序设计有所帮助。