我有一些代码
if (System.IO.File.Exists(newFilePath))
{
string suffix = (DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond).ToString();
newFilePath += suffix;
但我意识到这是不正确的,因为我真正想做的是在文件名的扩展部分之前加上后缀(如果有的话)。
例子:
C://somefolder/someotherfolder/somepic.jpg ---> C://somefolder/someotherfolder/somepic0123913123194.jpg
有没有一种单行本的方法可以做到这一点,而不是我花时间从
lastIndexOf
、Insert
等处处理一个过程。 最佳答案
简单的一行是:
newFilePath = String.Format("{0}{1}{2}",
Path.GetFileNameWithoutExtension(newFilePath),
suffix,
Path.GetExtension(newFilePath));
编辑:或者也要保留目录:
newFilePath = String.Format("{0}{1}{2}{3}",
Path.GetDirectoryName(newFilePath),
Path.GetFileNameWithoutExtension(newFilePath),
suffix,
Path.GetExtension(newFilePath));