C #: Como você criaria um nome de arquivo exclusivo adicionando um número?
Eu gostaria de criar um método que leva um nome de arquivo como umstring
ou umFileInfo
e adiciona um número incrementado ao nome do arquivo se o arquivo existir. Mas não consigo deixar de pensar em como fazer isso de uma maneira boa.
Por exemplo, se eu tiver esse FileInfo
var file = new FileInfo(@"C:\file.ext");
Eu gostaria que o método me desse um novo FileInfo comC: \ arquivo 1.ext E seC: \ file.ext existia eC: \ arquivo 2.ext E seC: \ arquivo 1.ext existia e assim por diante. Algo assim:
public FileInfo MakeUnique(FileInfo fileInfo)
{
if(fileInfo == null)
throw new ArgumentNullException("fileInfo");
if(!fileInfo.Exists)
return fileInfo;
// Somehow construct new filename from the one we have, test it,
// then do it again if necessary.
}