日期:2014-05-17  浏览次数:21017 次

求救:新建文件重名如何处理?
我需要在目标目录中新建一个文件,目标目录里的文件数量比较多,新建时重名的概率很小但会存在,不能覆盖原有的文件,当发现重名时需要将待建的文件改名(我是在文件名后加上当前时间)。现在的问题是,我不想在新建之前用File.Exists()来判断,因为假如我要新建10000个文件,其中只有1个文件重名可我却要判断10000次,总觉得这样很不划算,而且程序本来就很看重效率。想用FileMode.CreateNew来产生IOException异常然后在try catch里处理,但与之相关的别的代码也可能产生IOException异常,我没法判断到底是重名产生的异常还是别的什么产生的。请教大神,我该怎么办呀?给个思路就行,谢谢!
FileMode.CreateNew IOException异常 File.Exists()

------解决方案--------------------
如果是程序运行中,可以记录序号,在保证每次能创建成功的情况下,就顺序增加序号即可