C# image.Save(path + name)保存图片时检查是否存在同名图片

path为路径,name为图片名(格式XXX.png)是否可以检测文件夹中有没同名图片,如果有,则保存的名称变为XXX(1).png,或者XXX(1).png也已经存在,... path为路径,name为图片名(格式XXX.png)
是否可以检测文件夹中有没同名图片,如果有,则保存的名称变为XXX(1).png,或者XXX(1).png也已经存在,变成XXX(2).png,以此类推,求指教
展开
 我来答
匿名用户
2014-12-17
展开全部
 if (File.Exists(path + name)) //如果已经存在
{
    image.Save(path + newname);
}
追问
有处理newname的方法吗,就是后面加(1),或者有(1)了变成(2)的那种?
追答

自己去判断啊:

  string longName = "xxx.png";
            string newLongName = "";  //新名称
            string[] nameSplit = longName.Split('.');//xxx和png
            string name = nameSplit[0];//xxx
            if (name.Substring(name.Length - 1, 1) == ")")
            {
                string[] splitName = name.Split(new char[2] { '(', ')' });  //3个 xxx|12|空
                if (splitName.Length >= 3) //说明文件名是以(2)这种数字结尾的
                {
                    string startname = longName.Substring(0, name.Length - 2 - splitName[splitName.Length - 2].Length); //取出文件名括号前面的字符串 xxx
                    int newNumber = Convert.ToInt32(splitName[splitName.Length - 2]) + 1;
                    newLongName = startname + "(" + newNumber + ")" + "." + nameSplit[1];
                }
            }
            else
            {
                newLongName = name + "(1)" + "." + nameSplit[1];
            }
            Console.WriteLine(newLongName);
Sxzy灬丨小柒
2014-12-17 · TA获得超过623个赞
知道小有建树答主
回答量:1223
采纳率:50%
帮助的人:282万
展开全部
在保存之前最检查.
if(File.Exists(path))
{
//有同名的.
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式